home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d13 / pull217.arc / PULL217.DOC < prev    next >
Text File  |  1990-09-19  |  107KB  |  2,586 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9. ___________________________________________________________________________
  10.  
  11.                  PullDown Menu Shell System, Version 2.17
  12.                     U.S. ShareWare Release PULL217.ZIP
  13. ___________________________________________________________________________
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.                         Released 20 September, 1990
  21.  
  22.  
  23.  
  24.                                User's Guide
  25.  
  26.  
  27.  
  28.  
  29.            All Materials, Files, Contents of Distributed Files,
  30.        Software and Documentation (C) Copyright 1989-1990 Sam Horton
  31.                                     and
  32.          Copyright (C) 1990 MicroDynamics Development Corporation
  33.                  1445 Mensch Lane Gilbertsville, PA  19525
  34.  
  35.                     ASP Membership Application Pending
  36.  
  37.                              CIS ID 72010,2546
  38.                               GEnie S.HORTON1
  39.  
  40.                            All Rights Reserved.
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48. ___________________________________________________________________________
  49.  
  50. TABLE OF CONTENTS
  51. ___________________________________________________________________________
  52.  
  53. License, Terms of Use, Distribution.............................  2
  54.      License
  55.      Distribution
  56.      Consultant Dealerships
  57.      Virus Protection
  58.  
  59. File Description/Librarian's Reference..........................  3
  60.  
  61. Introduction....................................................  5
  62.      Feature Overview
  63.      Pure Text Files
  64.  
  65. Installation, ShareWare Version.................................  8
  66.  
  67. Making Menus....................................................  8
  68.      Basic Menu Definition
  69.      Advanced Menu Definition
  70.      Help Subsystem Use/Definition
  71.  
  72. Using the SAA Interface......................................... 26
  73.      Keyboard
  74.           Dialog Elements
  75.           Getting Around
  76.      Mouse
  77.  
  78. Configuring the Menu System..................................... 28
  79.      Option Clusters for Configuration
  80.      Colors
  81.      Passwords/Toggles for screen mode, NumLock, Resume
  82.      Registration System
  83.  
  84. Command Line Parameters......................................... 31
  85.  
  86. Technical Support & Registrations............................... 31
  87.      Domestic USA
  88.      Germany (DDR & FDR)
  89.  
  90. Consultant's Dealerships........................................ 32
  91.  
  92. APPENDIXES
  93. ----------
  94. A: Troubleshooting Guide........................................ 33
  95.      Unexpected return to menu shell, no selection activated
  96.           Unexpected Results of a selection and debugging
  97.           Tips
  98.      Locking system
  99.      Mouse Problems
  100.      Unexpected System Halts/Fatal Errors
  101. B: Files included in package and used by PullDown/LAN Useage.... 37
  102. C: Foreign Versions & Technical Support in Overseas............. 38
  103. D: Technical Notes.............................................. 39
  104. E: Key Word Quick Reference (Complete Summary).................. 39
  105. F: Load Time Minimization/Performance Optimization.............. 41
  106.      Special .DEF keyword
  107.      Considerations
  108. G: Special Thanks............................................... 42
  109.                                                                      Page 1
  110.  
  111. * All commercial tradenames and trademarks referenced are property of their
  112. respective owners, and MicroDynamics makes no claim to any names or
  113. commercial trademarks commonly known to be held by owners other than
  114. MicroDynamics referenced within this or any other distributed document or
  115. file.  Please note also that the illustrations in this manual do not look
  116. like the REAL menu system, as non line-draw characters are deliberately
  117. unused to support Epson default settings on printers.
  118.  
  119. LIBRARIAN'S STANDARD FILE DESCRIPTION:
  120. ___________________________________________________________________________
  121.  
  122.      PULL217.ZIP
  123.      A sleek SAA compliant professional-style pulldown menu shell for MS-
  124.      DOS systems featuring a full range of powerful options permitting
  125.      total system customization.  Requires DOS 3.0+, 256K RAM, IBM PC, XT,
  126.      AT, PS/2, PS/1 or full compatible.  80286 or higher recommended.
  127.  
  128. LICENSE AND TERMS OF USE
  129. ---------------------------------------------------------------------------
  130. SHAREWARE LICENSE AGREEMENT ACCEPTED BY YOUR USE:  As a non-commercial
  131. private user you are permitted to use/evaluate this product at no charge
  132. for a period of 60 days.  At the end of that period, if you feel that this
  133. work has some value to you, please consider a donation of $20 (US funds or
  134. your local currency equivalent plus 20%) to register the product.  Print
  135. and return the enclosed form in the file REGFORM.DOC to request upgrade
  136. diskettes, if desired, and registration numbers.  After 50 unregistered
  137. starts, the command line registration system is automatically invoked until
  138. registration.  Unregistered copies are fully functional with the sole
  139. exception of permanent saving of custom colors.  Commercial business users
  140. are restrained from using the product in the unregistered state under ALL
  141. circumstances.  Site licenses and multiple copy terms are covered within
  142. the REGISTRATION section of this document file. MicroDynamics assumes no
  143. liability arising from your use or inability to use this software product,
  144. nor does MicroDynamics assume liability for direct, indirect or
  145. consequential damages resulting from your use.
  146.  
  147. DISTRIBUTION:  PullDown v2.17 MUST be distributed in its original,
  148. unmodified form on only public-access BBS systems, through non-profit
  149. ShareWare libraries, or APPROVED vendor sites and catalogs.  Any
  150. distribution for remuneration beyond the cost of the diskette/mailing is
  151. strictly forbidden without the written permission of MicroDynamics and the
  152. author. (User group demo and distribution for member donation excepted.)
  153. Consultants/Dealers can obtain an on-site registration system upon
  154. acceptance of the "Dealer" agreement obtained from MicroDynamics.
  155.  
  156. CONSULTANT DEALERSHIPS: Dealers and Consultants are presently using an
  157. onsite registration system and remitting a percentage of collected
  158. registration fees while providing a very clean professional look to their
  159. client's systems.  If you would like to join that growing list, please
  160. notify MicroDynamics in writing, or call one of the technical support
  161. centers.  A simple contract will be returned to you for approval.  Voice
  162. support is available to registered Dealers and Consultants.
  163.  
  164. VIRUS PROTECTION:  The authorized shareware distribution copy of this
  165. software is continued within a tamper-proof ZIP file called PULL217.ZIP.
  166. If you did NOT see a banner notifying you that the ZIP file you received is
  167. valid upon invoking PKUNZIP, then assume the worst and find another copy.
  168. In fact, you are strongly advised to run a virus-checking program
  169. immediately after UNZIPPING *ANY* file or files from ShareWare libraries or
  170. Public Domain sources.  However, please don't give in to the unfounded and
  171. frequently hysterical "fear cum mania" associated with the entire issue of
  172. computer viruses.... just be careful, and enjoy!  Finally, if PullDown
  173.  
  174.                                                                      Page 2
  175.  
  176. refuses to start, displaying a message "CRC Check Failed!" then immediately
  177. check the system for virus presence.  PullDown contains a measure of anti-
  178. virus self-checking, and should not start if the file is modified in any
  179. way.
  180.  
  181. INTRODUCTION
  182. ___________________________________________________________________________
  183.  
  184. What are PullDown menus?  In short, they are identical to the familiar
  185. PCTools Deluxe interface, and very similar to the Windows pulldown menus
  186. you are likely already familiar with.
  187.  
  188. The purpose of the menu shell is to make access to programs contained on
  189. the PC to be effortless.  Moreover, in the case of PullDown, the process
  190. becomes both elegant and efficient.  PullDown is unique among menuing
  191. shells, providing you with the ability to define truly professional quality
  192. menus for any system quickly using a simple text editor (or Word Processor
  193. saving files as text only) and a set of easy to master commands.  Beyond a
  194. reasonable working knowledge of DOS, and the ability to learn, no other
  195. expertise is required to use PullDown.  However, if you should become
  196. confused as your read through the documentation please seek assistance from
  197. a knowledgeable co-worker, a friend, or call one of the Technical Support
  198. BBSs... MicroDynamics wants to serve you in any way possible, and to the
  199. extent time is available even unregistered users can get technical support
  200. from the author of the product.  Please, if you have ANY trouble, or
  201. suspect the menu system of "locking" or otherwise interfering with your
  202. computer, then call for support!
  203.  
  204. PullDown, in summary, contains the following features:
  205.  
  206.      * Professional quality SAA compliant PullDown menus with custom color,
  207.      screen mode, dialog, and mouse control.
  208.  
  209.      * All of the basic menuing system features including password
  210.      protection, command line prompts, and screen blanking, PLUS user-
  211.      defined help for each menu item, defined dialog boxes ranging from
  212.      simple <Ok> and <Yes><No> one-liner messages to full screen scrolling
  213.      message boxes and custom input boxes.
  214.  
  215.      * Color, Background Fill control, and unlimited upgrades via a command
  216.      line registration system.
  217.  
  218.      * Support for up to 10 Top Bar menu items with up to 46 selections
  219.      EACH, with unlimited menu file branching--practically limitless
  220.      options can be defined.
  221.  
  222.      * Automatically resumes the state of the menus as you left them last,
  223.      and can be toggled to turn NumLock off on entry automatically.
  224.  
  225.      * Non TSR design assures conflict-free operation.  Clear, concise
  226.      manual replete with examples and troubleshooting guide.
  227.  
  228. To configure the menu system properly, a working knowledge of DOS is most
  229. helpful, as well as some programming background.  The programming
  230. background would help you understand very quickly how to configure the
  231. menus, but is NOT required to operate the system.  More importantly, you
  232. must be familiar with the distinction between so-called "pure" text files
  233. and standard word processing files.  For those who do not know what this
  234. means, let's take a minute to explain the differences, and finally to tell
  235. you how to save a file as pure text--the kind PullDown needs to operate
  236.                                                                      Page 3
  237.  
  238. correctly.  (If you already intend to use a text editor, then skip on ahead
  239. three or four paragraphs.)
  240.  
  241. [NOTE: It is assumed that the reader has used a word processor before, and
  242. if you have never used one, then it is likely that you will need some help
  243. setting up this menu system.]
  244.  
  245. When you edit or create a word processing file, regardless of the word
  246. processor you use, you first LOAD the file, work with it, and then SAVE the
  247. file.  Loading and editing a pure text file is no different from working
  248. with any of your standard word processing files.... it is the SAVE function
  249. that differs.  To save a pure text file instead of the usual format of your
  250. word processor, select the option TEXT ONLY, or TEXT WITH LINE BREAKS as an
  251. option just before you save.  The following paragraphs deal with exactly
  252. how do this in Word Perfect and MS Word.
  253.  
  254. WORDPERFECT v5.1: [Alt =] [Text Out] [Dos Text]
  255.  
  256.      Then enter the filename.  The file will be saved without any special
  257.      formatting options as pure text, with line breaks.
  258.  
  259. MS WORD, v5.0:  [Esc] [Transfer] [Save] [Tab] [Space] [Space] [Enter]
  260.  
  261.      This selects Text-only-with-line-breaks, which saves a pure text file.
  262.      Using the Text-Only selection will create a file which may not be
  263.      compatible with PullDown's help system.  See your manual for details.
  264.      If you are using WORD for WINDOWS, the process is quite similar, only
  265.      you select the option from within a dialog box instead.
  266.  
  267. If you use another package, look in the index of your manual for Save
  268. Options/ASCII/Files or SAVE AS TEXT for references on how to do this.  If
  269. you are familiar with the use of text editors such as PE2, PE3, QEDIT, or
  270. ZIA, then simply use on of those to create and maintain the required files.
  271.  
  272. As an aside, the reason that you cannot simply save in your word
  273. processor's native format it twofold.  First, word processors wrap the
  274. lines for you on screen from long lines.  For example, a paragraph is
  275. wrapped for you when you type it in, you don't have to press ENTER at the
  276. end of each line.  This is achieved by saving the paragraphs on disk (and
  277. memory) as one very long line, and then wrapping them on your screen or
  278. printer on the fly.  Second, certain characters, known as control codes,
  279. are saved within the word processor's document to store attributes of your
  280. text such as bold, underline, indented, left or right justified and so on.
  281. In most cases, "header" information about the overall document format like
  282. margins, running footers etc. is also stored within the file.  If you were
  283. to view one of your word processing files strait, without the benefit of
  284. the word processor's interpretation of the control codes, you would see
  285. smiling faces and other goop on your screen, along with your text.
  286. PullDown is not equipped to interpret the extra formatting information, nor
  287. is it useful to the menu system.  The first thing to check, if a menu
  288. behaves unexpectedly or a defined help screen looks bizarre, is the format
  289. in which you saved the file.  If in doubt, issue the following command at
  290. the DOS prompt to check the file out:
  291.  
  292.      TYPE FileName.EXT
  293.  
  294. Where: FileName.EXT is the file you suspect you saved incorrectly.  If you
  295. get any beeping, strange characters you did not type in, or weird
  296. formatting like lines falling off the screen, then the file was saved in
  297.  
  298.                                                                      Page 4
  299.  
  300. the word processor's format.  To correct it, load the file again using the
  301. word processor, and then save it in the correct text-only format.
  302.  
  303. Finally, to configure the menu system you MUST know the following about
  304. each of the programs you will place under the shell:
  305.  
  306.      * The DOS Drive it is contained on.
  307.      * The DOS Directory it is in.
  308.      * The command used to start the application.
  309.  
  310. And, to have the system start each time you turn on your PC:
  311.  
  312.      * Where the special DOS file AUTOEXEC.BAT is.
  313.      * Whether or not you are presently using another menu system.
  314.  
  315. Is is presumed you know the first set of information about your programs,
  316. but just in case you are unclear, here is a short example of the DOS
  317. commands one might type to start Lotus 1-2-3 on drive C: in the directory
  318. LOTUS:
  319.  
  320. C:                      [ENTER]
  321. CD\LOTUS                [ENTER]
  322. 123                     [ENTER]
  323.  
  324. And 1-2-3 would start.  In order, you typed the drive it was on, the
  325. directory it was in, and the command to start the program.  You will need
  326. this same information about each application you will place under the menu
  327. shell.  In version 3.00 of PullDown, an automated installation routine will
  328. do all of this for you, but for now you will need this information when
  329. configuring the shell.
  330.  
  331. Making PullDown start each time you turn your PC on is covered in detail
  332. under INSTALLATION below.  It is really easy to do, although it sounds
  333. cryptic when first explained.
  334.  
  335. This manual is divided into the following general sections:
  336.  
  337.      - Installation, menu configuration, and interface usage
  338.      - Menu system options
  339.      - Technical Support and Registration
  340.      - Appendixes on Troubleshooting and Technical Details
  341.  
  342. We hope that you find this reference document lucid and easy to use.  As
  343. always, your comments, suggestions, and feedback on the documentation are
  344. more than welcome.  Enjoy.
  345.  
  346.  
  347. INSTALLATION
  348. ___________________________________________________________________________
  349.  
  350. In the ShareWare form, the menu system is typically distributed within a
  351. PKZIP file called PULL217.ZIP.  ZIP files, as they are called, are simply
  352. compressed sets of other files.  To remove the files from the ZIP file, and
  353. make them useful, you must UNzip them using the PKUNZIP utility from
  354. PKWARE.  Assuming that you are installing the menu system for the first
  355. time, follow these steps in order to uncompress the files from a diskette
  356. in drive A: to the subdirectory MENU on drive C:.  If you have the ZIP file
  357. on a different drive, or within a subdirectory, then substitute that
  358. information where you see the A: drive letter below.  Of course, you can
  359. use any subdirectory or drive other than C:\MENU, just substitute your
  360. information in place of C:\MENU.  Where not noted below, press the [ENTER]
  361.  
  362.                                                                      Page 5
  363.  
  364. key after each command.... you MUST have a copy of PKUNZIP on your system
  365. and available to UNzip the files for this to work.
  366.  
  367.  
  368. 1. Place the PullDown installation or distribution diskette in drive A:
  369.  
  370. 2. Type the following at the DOS prompt.
  371.  
  372.      C:
  373.      MD\MENU
  374.      PKUNZIP A:PULL217 C:\MENU
  375.  
  376.  
  377.      ******** IMPORTANT ********
  378.      The files will be extracted, and when the process is finished you
  379.      should see the following message on your screen:
  380.  
  381.      Authentic files Verified!  # UQL485  (C) MICRODYNAMICS DEVELOPMENT /
  382.      S.HORTON
  383.  
  384.      IF YOU DO NOT see this message, then you cannot be sure that you
  385.      received a fully functional unmodified VIRUS-FREE copy of PullDown.
  386.      It is suggested that you call the tech support BBS, notify
  387.      MicroDynamics of the problem and where you obtained the file, and
  388.      download the guaranteed clean copy of the system from the BBS.  The
  389.      BBS is on (215)-623-6203 24 hours a day.  If you cannot do this, then
  390.      a diskette containing the program will be sent to you free of charge
  391.      for notifying MicroDynamics of the error(s) you encountered.  Viruses
  392.      and hackers are rightly maligned, and we will do everything we can to
  393.      limit their impact on your enjoyment of the software.
  394.  
  395. 3. Edit the batch file used to start the menu system
  396.  
  397.      Using your text editor, or a word processor saving files in pure text,
  398.      edit the file PULLDWN.BAT to match your menu system IF you did not
  399.      install it exactly as described above.  That is, if you substituted a
  400.      drive other than C:, or a directory other than \MENU for the system,
  401.      then you will have to modify the batch file used to call the menu
  402.      system.  The DEFAULT contents of that file are the following:
  403.  
  404.           ECHO OFF
  405.           CLS
  406.           REM PullDown Menu Shell System (C) 1990 MicroDynamics Development
  407.           REM File=PULLDWN.BAT  Modify as required.
  408.           C:
  409.           CD\MENU
  410.           PULLDWN1.EXE %1 %2 %3
  411.           TEMPPULL.BAT
  412.  
  413.      Again, substitute your drive letter for C:, and your path for \MENU if
  414.      you used something other than the default information described in
  415.      step 2.
  416.  
  417. 4. Copy the file PULLDWN.BAT to C:\, and/or place \MENU in your PATH.
  418.  
  419.      This is necessary in order to support starting PullDown from anywhere
  420.      you happen to be in your system easily.  If you elect to copy the file
  421.      PULLDWN.BAT to the root (\) directory of drive C:, your system will
  422.      always be able to find it, regardless of the PATH setting in
  423.      AUTOEXEC.BAT.  [If that statement confused you, just follow the
  424.  
  425.                                                                           Page 6
  426.  
  427.      directions for copying the file to the root directory and be done with
  428.      it.]  If you wish, you may modify the PATH to include C:\MENU.
  429.  
  430.           A) Copying the file.
  431.  
  432.                COPY C:\MENU\PULLDWN.BAT C:\
  433.  
  434.           B) Changing the PATH command. (Optional but recommended)
  435.  
  436.                1. Edit C:\AUTOEXEC.BAT and modify the path.  Append with
  437.                ;C:\MENU
  438.  
  439.                2. Save the file as pure text
  440.  
  441. 5. IF you want PullDown to start automatically each time you turn your
  442. computer on, and you have a hard disk on which the first partition is C:
  443. (the first drive letter that is a hard disk) then follow these steps with
  444. care.
  445.  
  446.      A) Edit the file C:\AUTOEXEC.BAT.  If it does not exist, then create
  447.      it anyway.
  448.  
  449.      B) IF the file already exists, then perform the following edit:
  450.  
  451.           1) If you were using another menu system, and it used to start
  452.           when you turned your PC on, then you will have to replace the
  453.           command used at the end (most likely) of your AUTOEXEC.BAT file
  454.           with PULLDWN to start the new shell.  Look on the last line, if
  455.           you see AUTO, 3DMENU, 3D, EZ, EZMENU, or MENU, then overtype it
  456.           with PULLDWN.  If you see nothing like that, then add the line
  457.           PULLDWN to the file after the last existing line.  TIP: If the
  458.           menu system fails to start after you have done this, then check
  459.           with an experienced user or send the contents of the file to
  460.           MicroDynamics on the tech support BBS for assistance.
  461.  
  462.           2) Save the file as pure text.
  463.  
  464.      C) IF the file does not exist at all, then enter these lines to create
  465.      a sample file that will start PullDown automatically.
  466.  
  467.           1) Enter these lines.
  468.  
  469.           ECHO OFF
  470.           CLS
  471.           SET PROMPT=$p$g
  472.           PULLDWN
  473.  
  474.           2) And save the file as pure text.
  475.  
  476. 6. Decide which text editor or word processor you will be using to
  477. configure and run PullDown with.  Write down the program's drive,
  478. directory, and the command you use to call it up with.  The example below
  479. assumes that you will use QEDIT in the directory C:\QEDIT.  Full paths are
  480. shown as samples only, and do not need to be used if C:\QEDIT is already in
  481. your path.  TIP: If you need to know what IS in your path, then type the
  482. command SET at the DOS prompt and look at the line with PATH on it.
  483.  
  484.      A) Edit the file EDITOR.BAT in C:\PULLDWN.  You will see the following
  485.      contents:
  486.  
  487.                                                                      Page 7
  488.  
  489.                ECHO OFF
  490.           CLS
  491.           REM EDITOR.BAT for inclusion with PullDown menu system.
  492.           C:\QEDIT\QEDIT %1
  493.  
  494.      B) SAMPLE: If you are using PE2, which is contained within the
  495.      directory C:\EDITOR, then change the file to the following:
  496.  
  497.           ECHO OFF
  498.           CLS
  499.           REM EDITOR.BAT for inclusion with PullDown menu system.
  500.           C:\EDITOR\PE2 %1
  501.  
  502.      C) SAMPLE: If you are using WordPerfect v5.1 in the directory F:\WP51
  503.      then change the file to the following:
  504.  
  505.           ECHO OFF
  506.           CLS
  507.           REM EDITOR.BAT for inclusion with PullDown menu system.
  508.           F:\WP51\WP %1
  509.  
  510. And be sure to save the files you edit for PullDown as pure text.  (DOS
  511. Text in the case of WP).  You need to modify this batch file so that the
  512. selections in the menus concerning editing of the .DEFinition files is
  513. correct.  (i.e. The selections call "EDITOR FileName.DEF".)
  514.  
  515.  
  516. MAKING MENUS
  517. ___________________________________________________________________________
  518.  
  519. The files that contain the definition information PullDown uses to create
  520. menus have the extension .DEF.  The included files are PULLDWN.DEF, which
  521. is the default menu file PullDown will load on startup, ADVANCED.DEF, which
  522. contains several advanced examples, and WINDOWS.DEF, which demonstrates
  523. starting Windows Apps from PullDown.  These files, and the ones you might
  524. create in the future, are pure text files with line breaks.  That is, when
  525. you edit them you MUST save them as described above under the INTRODUCTION
  526. section.  Files in any other format will cause PullDown to fail when
  527. loading the definitions.  These .DEF files are loaded by PullDown and the
  528. menus you describe within them are displayed on screen.  Each title is
  529. defined explicitly, and is followed by the command(s) to be issued to DOS
  530. through TEMPPULL.BAT.  That is, the defined commands you give PullDown in a
  531. .DEF file are written into the file TEMPPULL.BAT, and then that file is
  532. executed when you make a selection.  Recall from above the contents of
  533. PULLDWN.BAT...
  534.  
  535.           ECHO OFF
  536.           CLS
  537.           REM PullDown Menu Shell System (C) 1990 MicroDynamics Development
  538.           REM File=PULLDWN.BAT  Modify as required.
  539.           C:
  540.           CD\MENU
  541.           PULLDWN1.EXE %1 %2 %3
  542.           TEMPPULL.BAT
  543.  
  544. That last line ^^^^^^ containing TEMPPULL.BAT is executed after you exit
  545. the menu shell.  PullDown basically creates a batch file called upon by
  546. TEMPPULL.BAT that contains the menu definitions you create.  Now, let's see
  547. how a basic menu is constructed, and then move on to the more advanced
  548. features of the menu shell.
  549.                                                                      Page 8
  550.  
  551.  
  552. BASIC MENU DEFINITION
  553. =====================
  554.  
  555. The basic keywords used by PullDown are:
  556.  
  557. DEF
  558.      Defines a new title heading to follow, and a new pulldown set.
  559.  
  560. %TitleString
  561.      1) When immediately following DEF, defines top menu selection
  562.      2) When second through last for a menu, defines the title of the
  563.      selection definition that follows it.
  564.  
  565. +BatchCommand
  566.      Following a %TitleString defines a DOS batch command associated with
  567.      the preceding selection title.
  568.  
  569. 'CommentString
  570.      Anything preceded by ' is a comment and ignored by PullDown.  Embedded
  571.      comments are not supported, so keep them on separate lines.
  572.  
  573.  
  574. To demonstrate how this works, suppose you wanted to create a PullDown menu
  575. for your applications containing 1-2-3, Harvard Graphics, and MS Word 5.0.
  576. The corresponding DEF file would look like this, of course adjusted to
  577. reflect the DOS subdirectories and drive(s) in your system:
  578.  
  579.  
  580. DEF
  581.      %Applications
  582.  
  583.      %Lotus 1-2-3
  584.           +C:
  585.           +cd\lotus
  586.           +123
  587.           +pulldwn
  588.  
  589.      %Harvard Graphics
  590.           +c:
  591.           +cd\harvard
  592.           +hg
  593.           +pulldwn
  594.  
  595.      %MS Word 5.0
  596.           +c:
  597.           +cd\word5
  598.           +word
  599.           +pulldwn
  600.  
  601.  
  602. And the result on screen would look something like this, but better of
  603. course, as this is just roughed out here for tutorial purposes...
  604.  
  605.       Applications
  606.  ---------------------
  607. | Lotus 1-2-3         |
  608. | Harvard Graphics    |
  609. | MS Word 5.0         |
  610.  ---------------------
  611.                                                                      Page 9
  612.  
  613. NOTES: The keyword DEF tells PullDown that a new TOP BAR menu definitionfollows.  See how that first one is Applications, and how all the others
  614. fall in under it?  The keyword DEF is special in that way, and is used ONLY
  615. when you want a new menu selection and attendant subselections to follow.
  616.  
  617. That last line on each selection, PULLDWN, ensures that the menu shell will
  618. be restarted for you after you use each program.  If you omitted it, you
  619. would be at the DOS prompt (C:\ or similar) upon exit from an application.
  620. To continue with this example, suppose that you wanted to add another menu
  621. selection containing your utilities.  One for the Norton Utilities, one for
  622. PC Tools Deluxe, FastBack Plus, and finally a selection to format a
  623. diskette in drive A:.  You would then ADD to the above file the following
  624. definitions:                          ---
  625.  
  626.  
  627. ' Second TOP BAR is Utilities....  (This is a comment ignored by PullDown)
  628.  
  629. DEF
  630.      %Utilities
  631.  
  632.      %Norton Utilities
  633.           +C:
  634.           +cd\nu
  635.           +nu
  636.           +pulldwn
  637.  
  638.      %PC Tools Deluxe
  639.           +c:
  640.           +cd\pctools
  641.           +psshell
  642.           +pulldwn
  643.  
  644.      %FastBack Plus
  645.           +c:
  646.           +cd\fastback
  647.           +fb
  648.           +pulldwn
  649.  
  650.      Format Diskette in Drive A:
  651.           +format a:
  652.           +pulldwn
  653.  
  654.  
  655. Then, your menu would FIRST appear on screen like this.....
  656.  
  657.       Applications           Utilities
  658.  ---------------------
  659. | Lotus 1-2-3         |
  660. | Harvard Graphics    |
  661. | MS Word 5.0         |
  662.  ---------------------
  663.  
  664. Upon pressing the RIGHT arrow key, or sliding the mouse across the top bar
  665. while holding the left button, the menu would switch to the second TOP
  666. selection and appear something like this....
  667.                                                                     Page 10
  668.  
  669.       Applications            Utilities
  670.                      -----------------------------
  671.                     | Norton Utilities            |
  672.                     | PC Tools Deluxe             |
  673.                     | FastBack Plus               |
  674.                     | Format Diskette in Drive A: |
  675.                      -----------------------------
  676.  
  677. Thus, the whole file contains:
  678. ------------------------------
  679.  
  680. DEF
  681.      %Applications
  682.  
  683.      %Lotus 1-2-3
  684.           +C:
  685.           +cd\lotus
  686.           +123
  687.           +pulldwn
  688.  
  689.      %Harvard Graphics
  690.           +c:
  691.           +cd\harvard
  692.           +hg
  693.           +pulldwn
  694.  
  695.      %MS Word 5.0
  696.           +c:
  697.           +cd\word5
  698.           +word
  699.           +pulldwn
  700.  
  701. ' Second TOP BAR is Utilities....  (This is a comment ignored by PullDown)
  702.  
  703. DEF
  704.      %Utilities
  705.  
  706.      %Norton Utilities
  707.           +C:
  708.           +cd\nu
  709.           +nu
  710.           +pulldwn
  711.  
  712.      %PC Tools Deluxe
  713.           +c:
  714.           +cd\pctools
  715.           +psshell
  716.           +pulldwn
  717.  
  718.      %FastBack Plus
  719.           +c:
  720.           +cd\fastback
  721.           +fb
  722.           +pulldwn
  723.  
  724.      %Format Diskette in Drive A:
  725.           +format a:
  726.           +pulldwn
  727.  
  728.                                                                     Page 11
  729.  
  730. And a complete working menu is defined.  But, PullDown contains many morefeatures to spice up the menus, and two of them are the HighLite key and
  731. the unselectable horizontal bar.
  732.  
  733. HighLite (or HiLite) keys are used to permit quick keyboard access to a
  734. selection.  Like PC Tools, PullDown employes the SAA (standard applications
  735. architecture) definition of their behavior.  That is, if you press
  736. ALT+HighLite Key the selection is made, if you press and release ALT, then
  737. the HighLite keys are lit and stay lit until one is pressed.  (NOTE:
  738. PullDown starts in this state, but the Dialog Boxes require an ALT press)
  739. Pressing a lit HighLite key moves your cursor to the selection indicated.
  740. In the case of multiple keys on screen, the first one encountered moving
  741. down the current menu is selected.  The unselectable bar is there for
  742. aesthetic separation of options only.  First, suppose that you wanted the L
  743. in "lotus 1-2-3" to be a HighLite key.  You would change the portion of the
  744. selection as shown below:  (The dots before and after indicate that the
  745. example is a code fragment, and that other things follow and/or precede
  746. it.)
  747.  
  748.      .
  749.      .
  750.  
  751.      %Lotus 1-2-3
  752.           HI=0
  753.           +C:
  754.           +cd\lotus
  755.           +123
  756.           +pulldwn
  757.  
  758.      .
  759.      .
  760.  
  761.  
  762. The only thing changed is the addition of the HI=0 statement.  HI=nn
  763. defines the character position of the highlite character in the preceding
  764. title.  It has no meaning if following the TOP BAR titles APPLICATION and
  765. UTILITIES, but does have meaning in any other context.  Note that the
  766. default for the system, if you do not specify HI= for each selection, is
  767. the HI=0 position.  Now, why is the position 0 in HI=0 and not 1?  Easy, we
  768. start counting the positions in the title at 0, not 1.  So the O in Lotus
  769. is position 1, not 2 as you might suspect.   A good habit to get into is
  770. placing a counter comment line above each selection to avoid confusion.
  771. e.g.
  772.  
  773.      .
  774.      .
  775.      '01234567890
  776.      %Lotus 1-2-3
  777.           HI=0
  778.           +C:
  779.           +cd\lotus
  780.           +123
  781.           +pulldwn
  782.  
  783.      .
  784.      .
  785.  
  786. To drive the point home, what number would follow HI= to highlite the 2 in
  787. 1-2-3 above?  The answer is 8, as you can see plainly.  Continuing on the
  788. unselectable divider bars, suppose you wanted to add one between the
  789. FastBack Plus and Format options under the UTILITIES top bar menu... you
  790.  
  791.                                                                     Page 12
  792.  
  793. would do this by adding the special %- command which defines the bar likethis:
  794.  
  795.      .
  796.      .
  797.  
  798.      %FastBack Plus
  799.           +c:
  800.           +cd\fastback
  801.           +fb
  802.           +pulldwn
  803.  
  804.      ' The %- below inserts the unselectable bar to separate selections.
  805.  
  806.      %-
  807.  
  808.  
  809.      %Format Diskette in Drive A:
  810.           +format a:
  811.           +pulldwn
  812.  
  813.      .
  814.      .
  815.  
  816. And, the menu appearance would CHANGE to this when the UTILITIES menu is
  817. displayed:
  818.  
  819.       Applications            Utilities
  820.                      -----------------------------
  821.                     | Norton Utilities            |
  822.                     | PC Tools Deluxe             |
  823.                     | FastBack Plus               |
  824.                     |-----------------------------|
  825.                     | Format Diskette in Drive A: |
  826.                      -----------------------------
  827.  
  828. Examining and modifying the PULLDWN.DEF file will give you a good flavor
  829. for using these and other options.  In summary, the basic keywords and menu
  830. file structure are:
  831.  
  832.      DEF
  833.           Defines a new title heading to follow, and a new pulldown set.
  834.  
  835.      %TitleString
  836.           1) When immediately following DEF, defines top menu selection
  837.           2) When second through last for a menu, defines the title of the
  838.           selection definition that follows it.
  839.  
  840.      +BatchCommand
  841.           Following a %TitleString defines a DOS batch command associated
  842.           with the preceding selection title.
  843.  
  844.      'CommentString
  845.           Anything preceded by ' is a comment and ignored by PullDown.
  846.           Embedded  comments are not supported, so keep them on separate
  847.           lines.
  848.                                                                     Page 13
  849.  
  850. And the basic structure of ALL .DEF files is:
  851. ---------------------------------------------
  852.  
  853. DEF
  854.      %TopBar Title One
  855.  
  856.      %First Selection
  857.           HI=nn
  858.           +batch command
  859.           +batch command
  860.  
  861.      %Second Selection
  862.           HI=nn
  863.           +batch command
  864.      .
  865.      .
  866.  
  867. DEF
  868.      %TopBar Title Two, appearing to the RIGHT of the preceding menu
  869.  
  870.      %First Selection, Menu Two
  871.           HI=nn
  872.           +batch command
  873.           +batch command
  874.  
  875.      %Second Selection, Menu Two
  876.           HI=nn
  877.           +batch command
  878.           +batch command
  879.      .
  880.      .
  881. And so on, up to 10 total top bar menus, limited in depth down the screen
  882. to the number of rows on the screen minus four.  (Discussed later.)  Of
  883. course indenting the lines is optional, but helps the eye follow selections
  884. and contents easily.  Next, advanced menu elements such as password
  885. protection, command line parameter passing, and dialogs are covered.  After
  886. that discussion, an overview concerning use of the interface with both the
  887. keyboard and the mouse is explained.
  888.  
  889. ADVANCED MENU DEFINITION
  890. ========================
  891.  
  892. The advanced elements of menu definition are:
  893.  
  894. PASS=PassWord
  895.      User is prompted for a password to continue.  The selection halts
  896.      execution at the line PASS is encountered if the user cannot enter the
  897.      correct response, or selects <Cancel>/presses ESC.
  898.  
  899. ?QuestionString
  900.      Shows the user PromptString and awaits input.  If the user selects the
  901.      <Cancel> or presses ESC, the execution of the selection halts and the
  902.      user is returned to the menu.  Up to 10 are supported, and passed to
  903.      the batch file on a command line as if keyed.  REQUIRED keyword call
  904.      prior to ? will force a non-blank response to all subsequent ? uses.
  905.      Toggled OFF with NOTREQUIRED keyword call.  Default=NOTREQUIRED.
  906.  
  907.                                                                     Page 14
  908.  
  909. OKBOX=PromptString
  910.      Places a single <Ok> dialog box before the user containing only the
  911.      string PromptString.  If the user clicks on <Ok>, or presses ENTER,
  912.      then execution continues.  If ESC is pressed, then the user is
  913.      returned to the menu without action being taken.  HighLite keys are O
  914.      in <Ok> only.
  915.  
  916. YORN=PromptString
  917.      Places a single <Yes><No> dialog box before the user containing only
  918.      the string PromptString.  If the user clicks on <Yes>, or presses
  919.      ENTER, then execution continues.  If ESC is pressed or <No> is
  920.      clicked, then the user is returned to the menu without action being
  921.      taken.  HighLite keys are Y in <Yes> and N in <No>.
  922.  
  923. SCROLLBOX=HelpFile,HeaderString
  924.      Presents user with an <Ok> scrolling mouse sensitive dialog box
  925.      containing up to 50 lines of user-defined help in the text file
  926.      HelpFile.  Presents the lines directly following the first encounter
  927.      of HeaderString (so make it unique in the file, or the first
  928.      occurrence) up to the stop marker ### on a line by itself.  User-
  929.      defined help file syntax is covered a few paragraphs from now with a
  930.      complete example.  As an aside, the F1 key calls help in the same way
  931.      for any defined menu selection in the file PULLDWN.HLP.  Again, this
  932.      is covered in detail later.
  933.  
  934. @MenuFile.DEF
  935.      Loads a the MenuFile[.DEF] menu definition file from the .DEF path.
  936.      This path is either:
  937.           1) The path to PULLDWN1.EXE -or-
  938.           2) The path set in the PULLDWN=Path environment variable, if
  939.           present. (Optional)
  940.      [.DEF] denotes that the extension is optional.  Strongly recommended
  941.      that you follow syntax with .DEF to prevent confusion.
  942.  
  943. Any of these elements can be used as many times as you like under any title
  944. selection.  The only exception is ?QuestionString, which is discussed in
  945. detail below.  Working from the top of the list, here are complete examples
  946. concerning how to use each command:
  947.  
  948. PASS=PassWord
  949. - - - - - - -
  950.  
  951. Description:
  952.  
  953. PASS=PassWord
  954.      User is prompted for a password to continue.  The selection halts
  955.      execution at the line PASS is encountered if the user cannot enter the
  956.      correct response or selects <Cancel> or presses ESC.
  957.  
  958.  
  959. If you did not want just anyone running the Norton Utilities, then you
  960. could protect the selection like this:
  961.  
  962.                                                                     Page 15
  963.     .
  964.      .
  965.      '0123456789012345
  966.      %Norton Utilities
  967.           HI=7
  968.           PASS=YourWord
  969.           +C:
  970.           +cd\nu
  971.           +nu
  972.           +pulldwn
  973.      .
  974.      .
  975.  
  976. For those of you who did not catch it, the HI=7 command was added to
  977. demonstrate highlite of the U in Utilities above.  Also, the user is now
  978. asked for the password when selecting this item, and cannot proceed without
  979. entering "YourWord" (no quotes, of course) correctly.  To use multiple
  980. passwords (unlimited) just place PASS=PassWord type statements under the
  981. item repeatedly.
  982.  
  983.  
  984. ?QuestionString
  985. - - - - - - - -
  986.  
  987. Descriptions:
  988.  
  989. ?QuestionString
  990.      Shows the user PromptString and awaits input.  If the user selects the
  991.      <Cancel> or presses ESC, the execution of the selection halts and the
  992.      user is returned to the menu.
  993.  
  994.  
  995. *NOTICE TO v2.01 USERS*
  996. &BatchCommand
  997.      No longer supported.  Simply the same as using +
  998.  
  999.  
  1000. In the simplest case, let's say you want to prompt for the file to load
  1001. into MS WORD 5.0 when you use it.  Change the MS Word 5.0 selection FROM
  1002. THIS:
  1003.  
  1004.      .
  1005.      .
  1006.      %MS Word 5.0
  1007.           +c:
  1008.           +cd\word5
  1009.           +word
  1010.           +pulldwn
  1011.      .
  1012.      .
  1013.  
  1014. TO THIS:
  1015.  
  1016.      .
  1017.      .
  1018.      %MS Word 5.0
  1019.           ?Enter file to load, [Enter] for None:
  1020.           +c:
  1021.           +cd\word5
  1022.           +word %1
  1023.  
  1024.                                                                     Page 16
  1025.  
  1026.           +pulldwn
  1027.      .
  1028.      .
  1029. NOTICE that the ONLY line to receive the %1 variable is the one that
  1030. invokes the program, WORD.  To clarify the result, suppose that the user
  1031. enters MEMO as the response to the ? prompt.  The resulting SHELL.BAT file,
  1032. (called in turn by TEMPPULL.BAT), used to actually start WORD in this case
  1033. will be:
  1034.  
  1035.      c:
  1036.      cd\word5
  1037.      word MEMO
  1038.      pulldwn
  1039.  
  1040. Similarly, if the user had entered nothing (just pressed ENTER alone), then
  1041. no file would be loaded.  The resulting PULLDWN.BAT file would be:
  1042.  
  1043.      c:
  1044.      cd\word5
  1045.      word
  1046.      pulldwn
  1047.  
  1048. Which is what you had by default before you included the prompt.  To use
  1049. multiple prompts, simply call ?QuestionString repeatedly.  Up to 10
  1050. variables can be passed, and are denoted IN ORDER OF ENTRANCE by %1, %2, %3
  1051. . . . %9, %0.  Let's take a moment to digress on the use of those %n
  1052. variables for the less expert users.  Skip the following three paragraphs
  1053. and examples if you already know about the variables in batch files.
  1054.  
  1055. When you invoke a program from DOS, you can typically place a filename or
  1056. parameter following the command used to invoke it, and the software will
  1057. take some action.  For example, when you start MS Windows you can specify a
  1058. program to run by placing it's name on the command line.  Likewise, your
  1059. editor or Word Processing application does something similar in loading the
  1060. file specified.  All the %1 through %0 symbols mean is "place that string
  1061. found on the command line in position X here" where X is the number
  1062. following the % symbol.  (With 0 equal to number 10)  Consider the
  1063. following batch file....
  1064.  
  1065.      echo off
  1066.      cls
  1067.      echo The first thing on the command line is %1
  1068.      echo The second is %2
  1069.      echo and the third is %3
  1070.  
  1071. Suppose it is called TEST.BAT... if you typed this:
  1072.  
  1073.      TEST Hello SecondString ThirdAndLast
  1074.  
  1075. you would get this back:
  1076.  
  1077.      The first thing on the command line is Hello
  1078.      The second is SecondString
  1079.      and the third is ThirdAndLast
  1080.  
  1081. Further, notice what you get if you type:
  1082.  
  1083.      TEST Hello
  1084.  
  1085. is only:
  1086.                                                                     Page 17
  1087.  
  1088.      The first thing on the command line is Hello
  1089.      The second is
  1090.      and the third is
  1091.  
  1092. and this:
  1093.  
  1094.      TEST First Second Third Fourth
  1095.  
  1096. is only:
  1097.  
  1098.      The first thing on the command line is Hello
  1099.      The second is SecondString
  1100.      and the third is ThirdAndLast
  1101.  
  1102. The fourth was carried in, but not used.  All PullDown does is places the
  1103. user's responses IN ORDER ENTERED on the command line.  Using multiple
  1104. prompts for PullDown menu files is not ANY different from using them in
  1105. standard DOS batch files.  i.e. ALL Batch Command Language extensions are
  1106. available to you.  To learn more about DOS, the batch language, and how to
  1107. use it, try "Supercharging MS DOS" by Van Wolverton, Microsoft Press... it
  1108. is a GREAT book on the PC's abilities, and you will learn a great deal
  1109. reading it.  Second, try BATCOM, a Shareware DOS Batch extender for more
  1110. power in your batch language applications.  Let us turn back to PullDown
  1111. now, and go over an advanced example.
  1112.  
  1113. Let's use a hypothetical example where you might want multiple prompts:
  1114. copying the contents of one disk to another disk where the disks are not
  1115. known in advance.
  1116.  
  1117.      .
  1118.      .
  1119.  
  1120.      '0123456789012345678901
  1121.      %Copy from Disk to Disk
  1122.           HI=10
  1123.           ?Enter the SOURCE (First) Disk Letter:
  1124.           ?Enter TARGET Disk Letter:
  1125.           %1
  1126.           CD\
  1127.           +XCOPY %1 %2 /S/M
  1128.           pulldwn
  1129.      .
  1130.      .
  1131.  
  1132.  
  1133. Suppose the user responded A: and B: in order.  The resulting batch file
  1134. is:
  1135.      A:
  1136.      CD\
  1137.      XCOPY A: B: /S/M
  1138.      pulldwn
  1139.  
  1140. [Look up the XCOPY command to understand why the switches /S/M are
  1141. included... essentially the disk is duplicated by "walking the tree" on the
  1142. source and creating corresponding subdirectories and files on the target]
  1143.  
  1144. Continuing with the example, let's add a second tier of query, which disk
  1145. to run CHKDSK on after the copy operation:
  1146.  
  1147.                                                                     Page 18
  1148.  
  1149.      .
  1150.      .
  1151.      '0123456789012345678901
  1152.      %Copy from Disk to Disk
  1153.           HI=10
  1154.           ?Enter the SOURCE (First) Disk Letter:
  1155.           ?Enter TARGET Disk Letter:
  1156.           +XCOPY %1 %2
  1157.  
  1158.           ' Clear the variables to get ready for the next question
  1159.           ?Enter the disk to run CHKDSK on after completion:
  1160.           +CHKDSK %3
  1161.           pulldwn
  1162.      .
  1163.      .
  1164.  
  1165. Assuming the user responds A: to the second question, and A: B: to the
  1166. first two, The TEMPPULL.BAT contents would result as:
  1167.  
  1168.      XCOPY A: B:
  1169.      CHKDSK A:
  1170.      pulldwn
  1171.  
  1172. If the user did NOT respond to the second prompt and just pressed [ENTER]
  1173. above, having done everything else the same, the result would be in error
  1174. as:
  1175.  
  1176.      XCOPY A:
  1177.      CHKDSK A:
  1178.      pulldwn
  1179.  
  1180. If you KNOW that input is required, then place the keyword REQUIRED within
  1181. the selection BEFORE you use ? prompts.  If you need to turn REQUIRED off,
  1182. place the keyword NOTREQUIRED in the system.  See ADVANCED.DEF for an example.
  1183.  
  1184.  
  1185. OKBOX and YORN
  1186. - - - - - - - -
  1187.  
  1188. Descriptions:
  1189.  
  1190. OKBOX=PromptString
  1191.      Places a single <Ok> dialog box before the user containing only the
  1192.      string PromptString.  If the user clicks on <Ok>, or presses ENTER,
  1193.      then execution continues.  If ESC is pressed, then the user is
  1194.      returned to the menu without action being taken.  HighLite keys are O
  1195.      in <Ok> only.
  1196.  
  1197. YORN=PromptString
  1198.      Places a single <Yes><No> dialog box before the user containing only
  1199.      the string PromptString.  If the user clicks on <Yes>, or presses
  1200.      ENTER, then execution continues.  If ESC is pressed or <No> is
  1201.      clicked, then the user is returned to the menu without action being
  1202.      taken.  HighLite keys are Y in <Yes> and N in <No>.
  1203.  
  1204.  
  1205. These two commands are similar in that they pop a message you define to the
  1206. user.  Execution of the selection is then in the user's hands, as selecting
  1207. <No> in the YORN type box, or pressing ESC in either box halts and returns
  1208.  
  1209.                                                                     Page 19
  1210.  
  1211. the user to the menus where s/he left off.  To illustrate, suppose youwanted the user to know that other applications such as the NotePad or
  1212. COMPRESS are available within PC Tools Deluxe...
  1213.  
  1214.      .
  1215.      .
  1216.      '012345
  1217.      %PC Tools Deluxe
  1218.           HI=3
  1219.           OKBOX=Select APPLICATIONS in PCSHELL for more Utilities
  1220.           +c:
  1221.           +cd\pctools
  1222.           +psshell
  1223.           +pulldwn
  1224.      .
  1225.      .
  1226.  
  1227. The user would see something like this on the screen.... (Only it looks
  1228. much better)
  1229.  
  1230.  -----------------------------------------------------
  1231. |                                                     |
  1232. |  Select APPLICATIONS in PCSHELL for more Utilities  |
  1233. |                                                     |
  1234. |-----------------------------------------------------|
  1235. |                        <Ok>                         |
  1236.  -----------------------------------------------------
  1237.  
  1238. In the case of YORN, the only difference is the bottom line.  For example,
  1239. including the following:
  1240.      .
  1241.      .
  1242.      '012345
  1243.      %PC Tools Deluxe
  1244.           HI=3
  1245.           YORN=Select APPLICATIONS in PCSHELL for more Utilities
  1246.           +c:
  1247.           +cd\pctools
  1248.           +psshell
  1249.           +pulldwn
  1250.      .
  1251.      .
  1252.  
  1253. Would produce this style box:
  1254.  
  1255.  -----------------------------------------------------
  1256. |                                                     |
  1257. |  Select APPLICATIONS in PCSHELL for more Utilities  |
  1258. |                                                     |
  1259. |-----------------------------------------------------|
  1260. |           <Yes>                   <No>              |
  1261.  -----------------------------------------------------
  1262.  
  1263. Of course, YORN is more appropriate for situations where confirmation is
  1264. requested.  For example, if you wanted to create you own EXIT TO DOS
  1265. selection, you might add the following to your growing .DEF file:
  1266.  
  1267.                                                                     Page 20
  1268.  
  1269. .
  1270. .
  1271. DEF
  1272. %Exit
  1273.      %Exit to DOS
  1274.           YORN=Are you sure you want to Exit?
  1275.           PASS=YourPass
  1276.           +echo off
  1277.           +cls
  1278.           +echo Type PULLDWN [Enter] to Start the Menu Shell
  1279.  
  1280.           ' Notice that NOT calling PULLDWN on the end exits to DOS
  1281.  
  1282.      %Load the default PULLDWN.DEF file
  1283.           @PULLDWN.DEF
  1284.  
  1285. When the user selects "Exit to DOS", they will be prompted to be sure that
  1286. this is what they want to do, and then required to enter the password
  1287. "YourPass" to proceed with the operation.  The second portion of this
  1288. example demonstrates how to load a menu definition file from a menu
  1289. selection, which is discussed at length below.
  1290.  
  1291.  
  1292. @MenuFile.DEF
  1293. - - - - - - -
  1294.  
  1295. Description:
  1296.  
  1297. @MenuFile.DEF
  1298.      Loads a the MenuFile[.DEF] menu definition file from the .DEF path.
  1299.      This path is either:
  1300.           1) The path to PULLDWN1.EXE -or-
  1301.           2) The path set in the PULLDWN=Path environment variable, if
  1302.           present. (Optional)
  1303.      [.DEF] denotes that the extension is optional.  Strongly recommended
  1304.      that you follow syntax with .DEF to prevent confusion.
  1305.  
  1306. Branching to another menu file is the feature of PullDown permitting you to
  1307. define unlimited submenus for your system.  All that happens is PullDown
  1308. loads the file you specify after the @ symbol key.  If the file is not
  1309. found, then the user is prompted for a valid file.  If the second file is
  1310. not found PullDown exits to DOS displaying help and where to call for
  1311. technical support.  This option is amply demonstrated above, and should
  1312. prove to be a valuable tool as you build your menu tree.  Of course, you
  1313. don't have to use it, but it is worthwhile to split large chunks into
  1314. different files if for no other reason to optimize load time of a given
  1315. .DEF file.  (See APPENDIX E, PERFORMANCE OPTIMIZATION for details on why
  1316. this is true.)  As a final note on @, you can load PULLDWN.DEF at ANY time
  1317. by clicking on the word PullDown at the bottom tag line, or pressing F9.
  1318. This was added in the event you define a submenu you call and forget to
  1319. allow an exit back to the main menu.  (It happens!)
  1320.  
  1321.  
  1322. DEFINING USER HELP SCREENS
  1323. ============================
  1324.  
  1325. It is worthwhile to detour at this point to a feature inherent within the
  1326. menu system before explaining fully the SCROLLBOX= command.  PullDown can
  1327. call upon defined help within external text files such as the samples
  1328. contained within the package SAMPLE.HLP, and the main help system file
  1329.  
  1330.                                                                     Page 21
  1331.  
  1332. PULLDWN.HLP.  The two are syntactically identical, but serve distinct
  1333. purposes.  In short, PULLDWN.HLP is the *ONLY* reserved .HLP file name
  1334. within the system, and it holds the help screen text for *ALL* defined menu
  1335. selections in any .DEF file you might use.  All others are defined by you,
  1336. and called individually in your SCROLLBOX= commands.  First, let's suppose
  1337. that you wanted to define a help screen that the user would see if s/he
  1338. pressed/clicked [F1] from within your menu while the bar was on "Lotus 1-2-
  1339. 3".  You would edit the PULLDWN.HLP file to include something like this:
  1340.  
  1341.  
  1342.      .
  1343.      .
  1344.  
  1345.      Lotus 1-2-3
  1346.      The world's leading spreadsheet, which has
  1347.      about 5,000,000 registered copies sold, with
  1348.      roughly that same number bootlegged.
  1349.      ###
  1350.  
  1351.      .
  1352.      .
  1353.  
  1354.  
  1355. And, if the user pressed or clicked F1, then the screen would show the
  1356. following type of dialog box to the user:
  1357.  
  1358.  ------------------- Lotus 1-2-3 ---------------------
  1359. |                                                     
  1360. |  The world's leading spreadsheet, which has         +
  1361. |  about 5,000,000 registered copies sold, with       +
  1362. |  roughly that same number bootlegged.               +
  1363. |                                                     
  1364. |-----------------------------------------------------|
  1365. |                        <Ok>                         |
  1366.  -----------------------------------------------------
  1367.  
  1368. Upon pressing [Enter], clicking <Ok>, pressing ALT+O, or ALT followed by O
  1369. and [ENTER], the box is cleared.  This box is scrollable, can contain up to
  1370. 50 lines of help, and can accommodate up to 69 characters in width.  The
  1371. box is self-sized about your text, and centered on the screen for you
  1372. automatically.  Of course, the box on screen looks much better than this
  1373. one, but you can gather that this is a powerful and useful feature.  Some
  1374. rules apply when you define user help screens, and in summary they are:
  1375.  
  1376.      1) PullDown will read lines UNTIL *one* of the following conditions is
  1377.      met:
  1378.           a) The End of Help marker, ###, is encountered ALONE on a line
  1379.           b) 50 lines are read into memory
  1380.           c) The end of the file is reached
  1381.  
  1382.      2) Lines that are too long (up to 100 char) are truncated
  1383.      3) The header you define in SCROLLBOX= or the title in the menu system
  1384.      should occur at the beginning of the help screen FIRST in the file.
  1385.      Otherwise, PullDown stops and reads the text following the first found
  1386.      header match.  (See sample of this condition below, this includes
  1387.      comments in this version.)
  1388.      4) A memory constraint is not anticipated, as memory is allocated for
  1389.      these lines when the program starts.
  1390.      5) Embedded blanks within the SCROLLBOX=HelpFile,HeaderString are not
  1391.      permitted.  i.e. follow the = with the HelpFile, string.
  1392.  
  1393.                                                                     Page 22
  1394.  
  1395. To conclude, you can pop a scrolling box like this with defined contents
  1396. from your custom filename as follows:
  1397.  
  1398. SCROLLBOX=HelpFile,HeaderString
  1399. - - - - - - - - - - - - - - - -
  1400.  
  1401. Where:
  1402.      HelpFile is any strait ASCII file, and
  1403.  
  1404.      HeaderString is the first unique occurrence of the header in the file
  1405.      followed by a help screen set of lines, ended by a ### on a single
  1406.      line.
  1407.  
  1408. Full Description:
  1409.  
  1410. SCROLLBOX=HelpFile,HeaderString
  1411.      Presents user with an <Ok> scrolling mouse sensitive dialog box
  1412.      containing up to 50 lines of user-defined help in the text file
  1413.      HelpFile.  Presents the lines directly following the first encounter
  1414.      of HeaderString (so make it unique in the file, or the first
  1415.      occurrence) up to the stop marker ### on a line by itself.  User-
  1416.      defined help file syntax is covered a few paragraphs from now with a
  1417.      complete example.  As an aside, the F1 key calls help in the same way
  1418.      for any defined menu selection in the file PULLDWN.HLP.
  1419.  
  1420.  
  1421. An example might be popping a multiple line notice giving the user specific
  1422. directions.  Building on the prior example for the Norton Utilities,
  1423. suppose you wanted to tell the user that undeleting a file is supported,
  1424. and where to call in your organization to obtain help if s/he cannot
  1425. undelete it automatically:
  1426.  
  1427.      .
  1428.      .
  1429.      '012345
  1430.      %Undelete a File
  1431.           HI=0
  1432.           SCROLLBOX=MYHELP.HLP,Undelete a File
  1433.           YORN=Do you want to continue?
  1434.           ?Enter file to undelete:
  1435.           +UNDELETE %1
  1436.           +pulldwn
  1437.      .
  1438.      .
  1439.  
  1440.  
  1441. And, within MYHELP.HLP you had placed:
  1442.  
  1443.      .
  1444.      .
  1445.  
  1446.      Undelete a File
  1447.      1) Attempt to use this automatic utility first to recover your file
  1448.      2) If this fails, then DO NOTHING MORE, but call Tom Guru in MIS at
  1449.         x4567 and ask for assistance.  If Tom is not in and you get his
  1450.         terse voice mail, then call Shelly at x5678.
  1451.      3) Have a nice day.
  1452.      ###
  1453.  
  1454.      .
  1455.      .
  1456.                                                                     Page 23
  1457.  
  1458.  
  1459. The user would be presented first with your help box, asked if they really
  1460. want to continue, and finally prompted for the filename to recover.  You
  1461. can see more examples of this in ADVANCED.DEF and SAMPLE.HLP.
  1462.  
  1463.  
  1464.  
  1465. DEFINING HELP SCREENS
  1466. - - - - - - - - - - -
  1467. Help files usually have the extension .HLP on them, and are pure text files
  1468. like the definition files.  As shown above, the syntax to call up a help
  1469. screen is simple.  In general, the format for each screen is:
  1470.  
  1471.      Unique HeaderString
  1472.      Help Text
  1473.      .
  1474.      .
  1475.      .
  1476.      .
  1477.      ###
  1478.  
  1479. Rules for use:
  1480.  
  1481. 1) Lines may be up to 69 characters wide.  This limit is actually defined
  1482. by the width of the screen (80) less the number of characters displayed for
  1483. the surrounding boxes and shadow(s).
  1484.  
  1485. 2) Up to 50 lines excluding the header line are permitted.  This limit is
  1486. arbitrary and can be raised if you have need.
  1487.  
  1488. 3) The HeaderString *MUST* be the first occurrence of the header within the
  1489. .HLP file, as PullDown scans for it and then displays the following lines
  1490. as help.  If you get unexpected text on the screen, it is likely that you
  1491. either did not make the header unique, or that there is another occurrence
  1492. of the same string before you expected it for the help screen.
  1493.  
  1494. 4) For ALL >menu selections< F1 help screens in ALL .DEF files, the file to
  1495. use is PULLDWN.HLP - and PullDown expects it in the same subdirectory as
  1496. PULLDWN1.EXE (C:\MENU unless you installed the system somewhere else on
  1497. your PC... see INSTALLATION).
  1498.  
  1499. 5) SCROLLBOX= statements may call upon any filename, any number of times.
  1500.  
  1501. 6) Lines with a leading ' are comments, BUT the contents are scanned for
  1502. the unique header string.
  1503.  
  1504. Ample examples of defining user help are provided in the preceding
  1505. sections, but let's take a close look at designing your own system in total
  1506. with help for each menu selection here.  Suppose you had a definition file
  1507. with these contents:
  1508.  
  1509.      DEF
  1510.           %Applications
  1511.  
  1512.           %Lotus 1-2-3
  1513.                +C:
  1514.                +cd\lotus
  1515.                +123
  1516.                +pulldwn
  1517.  
  1518.           %Harvard Graphics
  1519.                +c:
  1520.                                                                     Page 24
  1521.  
  1522.                +cd\harvard
  1523.                +hg
  1524.                +pulldwn
  1525.  
  1526.           %MS Word 5.0
  1527.                +c:
  1528.                +cd\word5
  1529.                +word
  1530.                +pulldwn
  1531.  
  1532.      ' Second TOP BAR is Utilities....  (This is a comment ignored by
  1533.      PullDown)
  1534.  
  1535.      DEF
  1536.           %Utilities
  1537.  
  1538.           %Norton Utilities
  1539.                +C:
  1540.                +cd\nu
  1541.                +nu
  1542.                +pulldwn
  1543.  
  1544.           %PC Tools Deluxe
  1545.                +c:
  1546.                +cd\pctools
  1547.                +psshell
  1548.                +pulldwn
  1549.  
  1550.           %FastBack Plus
  1551.                +c:
  1552.                +cd\fastback
  1553.                +fb
  1554.                +pulldwn
  1555.  
  1556.           %Format Diskette in Drive A:
  1557.                +format a:
  1558.                +pulldwn
  1559.  
  1560. It is suggested that you take these steps to create help screens for use
  1561. within the F1 HELP screens for your .DEF files, if desired:
  1562.  
  1563.      1) Load the .DEF file into your editor or word processor.
  1564.      2) Clip out all but the Title definitions (each line contents
  1565.      following the % symbols) without the leading % sign.
  1566.      3) Set up a ruler to show where character 69 is
  1567.      4) Write you help screens, ending each with termination marker ###
  1568.      5) Save the file as PULLDWN.HLP, pure text.
  1569.      6) Repeat for each .DEF file in your system, appending the file as
  1570.      needed.
  1571.  
  1572. TIP: Keep the text "balanced" within an imaginary box on screen as you
  1573. type.  This will prevent an unprofessional appearance to the help screens
  1574. when they are displayed.
  1575.  
  1576.                                                                     Page 25
  1577.  
  1578. Your help file, in part, might look like this:
  1579.  
  1580. ' Applications Help
  1581. ' Ruler:
  1582. '                                                       MAXIMUM >>>
  1583. *------------------------------------------------------------------|
  1584. Lotus 1-2-3
  1585. Leading spreadsheet.  Use this option to edit the
  1586. monthly operating report in the file RPTFIL.WK1.
  1587. Print the report using ALT+P, save with ALT+S,
  1588. then exit using /QY.
  1589. ###
  1590.  
  1591. Harvard Graphics
  1592. Use this software to make the charts for the
  1593. monthly operating and marketing reports.
  1594. Load the charts one at a time, and key the
  1595. new values.  When they are finished, show
  1596. them to Mr. Jones, who will tell you what
  1597. to change this month.
  1598. ###
  1599.  
  1600. MS Word 5.0
  1601. Use word processor when you need to write long
  1602. letters to coworkers or clients.
  1603. ###
  1604.  
  1605. .
  1606. .
  1607. and so on....
  1608.  
  1609. As noted in prior sections, each help text content definition is displayed
  1610. in a dialog box that users can scroll through.  Users press [ENTER], [ESC]
  1611. or click on <Ok> to clear the box.
  1612.  
  1613.  
  1614. USING THE SAA INTERFACE
  1615. ___________________________________________________________________________
  1616.  
  1617. USING THE KEYBOARD
  1618. ==================
  1619.  
  1620. The first thing you see on invocation of the menu system is the PullDown
  1621. front interface.  A menu is initialized for you and rolled on to the
  1622. screen.  The HiLite HotKeys appear in a different color from the rest, and
  1623. if pressed move the HiLite menu bar to the selection.  If you then press
  1624. [ENTER] the item is selected and the commands you defined in the
  1625. .DEFinition file are executed.  To access the selection directly, press and
  1626. hold the ALT key, followed by the HiLite key of the selection desired.
  1627. This is the same as pressing [ENTER] with the HiLite bar on that same
  1628. selection.  To access any function key, simply press it and the action is
  1629. taken.  That is all there is to the standard interface.  On to Dialog
  1630. Boxes.
  1631.  
  1632. Dialog Boxes appear when you invoke them, and for the [F2=Options]
  1633. [Options] [Settings...] setup dialog box.  A couple of concepts need to be
  1634. covered here for the less experienced user, and so again if you are a real
  1635. "power" user skip ahead three or four paragraphs past the examples to save
  1636. time.  For the majority of others, we will take a look at dialog box
  1637.  
  1638.                                                                     Page 26
  1639.  
  1640. elements, how the keyboard modifies each one, how to move around, and
  1641. finally how to select options.
  1642.  
  1643. Dialog boxes consist of one or more elements.  An element is simply a type
  1644. of dialog box interface that behaves in a certain way.  Let's start with
  1645. the most basic, the command button.
  1646.  
  1647. A command button is bracketed by less than and greater than symbols on your
  1648. screen.  An example is the <Ok> dialog box you saw earlier in the
  1649. documentation that looked like this:
  1650.  
  1651.  
  1652.  -----------------------------------------------------
  1653. |                                                     |
  1654. |          This is an <Ok> Dialog Box Example.        |
  1655. |                                                     |
  1656. |-----------------------------------------------------|
  1657. |                        <Ok>                         |
  1658.  -----------------------------------------------------
  1659.  
  1660. On your screen the cursor would rest on the O in OK.  Where the cursor
  1661. sits, that is called the current focus of the dialog box.  If you press
  1662. [ENTER] on a command button where the focus lies, that is the selection you
  1663. make.  To move the focus, you press the [TAB] key.  For example, the
  1664. <Yes><No> dialog looks like:
  1665.  
  1666.  -----------------------------------------------------
  1667. |                                                     |
  1668. |        This is a <Yes><No> Dialog Box Example.      |
  1669. |                                                     |
  1670. |-----------------------------------------------------|
  1671. |         <Yes>                      <No>             |
  1672.  -----------------------------------------------------
  1673.  
  1674. and the focus (cursor) rests on the Y in Yes at first.  If you pressed
  1675. [ENTER] you would be selecting <Yes>.  Pressing [TAB] moves the focus to
  1676. <No>, and pressing [ENTER] then would be answering <No>.  By the way,
  1677. unless otherwise noted, [ESC] is like pressing <No> or <Cancel>.  Besides
  1678. [TAB] there is another way to move the focus in dialog boxes.  If you press
  1679. and release the [ALT] key, you will see HiLite keys lit on the screen.
  1680. Pressing the HiLite key letters moves you around in the dialog box.  For
  1681. example, the HiLite keys in the <Yes><No> dialog box are Y and N, just as
  1682. you would expect.  Finally, if you pressed and held the [ALT] key down,
  1683. followed by the HiLite letter, you would select the option just as if the
  1684. focus rested upon it and you pressed [ENTER].  These basic movement
  1685. principles hold for ALL dialog boxes, no matter how complex.  Now let's
  1686. examine the elements you will encounter in the SETUP options of PullDown
  1687. and how to navigate them.  The exact meaning of the options is discussed in
  1688. the section coming later on CONFIGURING THE MENU SYSTEM.
  1689.  
  1690. Option Button Clusters look like this:
  1691.  
  1692.      () Option One of Three  < Current selection
  1693.      ( ) Option Two
  1694.      ( ) Option Three
  1695.  
  1696. When the focus is on this cluster, the cursor will be on the selected
  1697. option with the burger dot.  To change options selected, press the [Up] or
  1698. [Down] arrows.  Press [TAB] to move on to another element, or press [ALT]
  1699. and release it to activate the HiLite HotKeys.
  1700.  
  1701.                                                                     Page 27
  1702.  
  1703. Check Boxes have this appearance on screen, and are either ON or OFF,depending upon whether or not they contain an X.  (In other interfaces this
  1704. could be a check mark, dot, or other character that is not a blank space)
  1705.  
  1706.      [X] Selected Option
  1707.  
  1708. and one that is inactive looks like this:
  1709.  
  1710.      [ ] Selected Option
  1711.  
  1712. Move the focus in one of the manners described above, that is with either
  1713. the [TAB] key or the HiLite key presses.  To toggle the option status while
  1714. in the box, press the [SPACEBAR] key.
  1715.  
  1716. Finally, a text box is one that takes user input, like the box that is
  1717. popped to screen when you use the ?PromptString command.  The focus
  1718. initially rests on one of two places, depending upon whether something is
  1719. already in the box when you enter it.  If the box is empty, the cursor
  1720. rests on the left margin of the box and is ready for your input.  If the
  1721. box contains something already, the text will be in a different color from
  1722. the background and the cursor will be on the last character of the string
  1723. contained in the box.  At that point, if you want to replace the contents
  1724. entirely just start typing.  The old string is erased and you start anew.
  1725. If you want to simply edit that string, press the LEFT arrow key.  Then all
  1726. standard editing keys take effect.  i.e. [INSert], [DELete], and other edit
  1727. keys all have meaning just like they do in your word processor.  To accept
  1728. the input AND exit press [ENTER].  To move on to another element press
  1729. [TAB].
  1730.  
  1731. As a final note, when using the color selection palette move around with
  1732. the arrow keys, accept selection with [ENTER] and cancel with [ESC].
  1733.  
  1734.  
  1735. USING THE MOUSE
  1736. ===============
  1737.  
  1738. Using the mouse with dialog boxes is the most natural way to select options
  1739. and change the focus of the dialog.  To select command buttons like <Ok> or
  1740. <Cancel> just click and release the left mouse button on them.  The same
  1741. holds true for the SAA front end, the [Function] keys on the bottom row,
  1742. and the word PullDown in the lower left, which loads the default
  1743. PULLDWN.DEF menu regardless of your current menu load status. (The key
  1744. equivalent is [F9] for selection of the default menu file.)  To change
  1745. option's status AND focus, click on the desired selection, and to change
  1746. focus to text input boxes, just click the left button on them.  The SAA was
  1747. designed with the mouse in mind, and you will find it the most natural
  1748. extension of the keyboard allowing speed and accuracy of selection in a
  1749. very easy to comprehend interface.
  1750.  
  1751.  
  1752. CONFIGURING THE MENU SYSTEM OPTIONS
  1753. ___________________________________________________________________________
  1754.  
  1755. Pressing or clicking [F2=Options] on the bottom row of the screen invokes
  1756. PullDown's setup system.  The menus are, of course, PullDown in style and
  1757. reflect the exact colors of the system as they will appear on exit back to
  1758. the menu shell.  The first set of color options are changed by selecting
  1759. each in turn and reconfiguring the colors with the sample box that pops up
  1760. on the right side of the screen.  Click or select with the keyboard the
  1761. color you want for each element, or press [ESC] to back out.  The menus
  1762. will instantly reflect your changes, and by iterating through this process
  1763.  
  1764.                                                                     Page 28
  1765.  
  1766. you will arrive at your own color configuration.  If you are a registered
  1767. user, you may save the colors as the defaults and exit the setup system by
  1768. pressing [F10], clicking the [F10=Save & Exit] option on the bottom row, or
  1769. lastly by selecting the SAVE option from the EXIT pulldown menu on the far
  1770. right.  You may abort at any time.  If you are an unregistered user, the
  1771. SAVE of ONLY the colors is withheld.  ALL OTHER OPTIONS FUNCTION NORMALLY
  1772. even if you never register the system.  Let's go over the other options
  1773. available under the second pulldown menu and what each means.
  1774.  
  1775. First selection, second menu, SETUP options, brings a large dialog box to
  1776. the screen.  Each option cluster is clearly marked, and will contain
  1777. rational defaults.  The box looks roughly like this in layout, and each
  1778. cluster is numbered below for reference as the options are explained below:
  1779.  
  1780.  
  1781.     () Normal Mouse                    () Normal Screen Mode (25 Lines)
  1782.     ( ) Fast Mouse                   -> ( ) 43 Line EGA/VGA Mode
  1783.  -> ( ) Very Fast Mouse             |   ( ) 50 Line VGA Mode
  1784. |   ( ) No Mouse Support            |   [X] Show Blanker Flag
  1785. |                                   |
  1786. |                                   |
  1787. |                              Cluster Two, with check Box, Option 2
  1788. Cluster One, Mouse Options. Option 1
  1789.  
  1790.  
  1791. And the lower section has two check boxes and two text boxes in it:
  1792.  
  1793.  
  1794. [X] Turn NumLock OFF on Entry to Menu System   <- Check box, Option 3
  1795. [X] Resume Status of Menus on Entry            <- Check box, Option 4
  1796.  
  1797.  
  1798.                                             -----------------------------
  1799.  ----> Number of Minutes to Screen Blank   |                             |
  1800. |                                           -----------------------------
  1801. |                                           -----------------------------
  1802. |  --> Password Required to Modify Options |                             |
  1803. | |                                         -----------------------------
  1804. | |
  1805. | Password to get to [F2] options, Option 6
  1806. |                                           -----------------------------
  1807. |   --> Password Required to Exit to DOS   |                             |
  1808. |  |                                        -----------------------------
  1809. |  |
  1810. |  Password to exit to DOS, Option 7.
  1811. |
  1812. Screen Blanker Countdown Timer Option 5.
  1813.  
  1814. The options, and their impact on the menu system are:
  1815.  
  1816.      1) The mouse speed of movement across the screen as you move the
  1817.      device is defined in units called Mickeys.  (No kidding!)  PullDown
  1818.      let's you select your speed to taste from normal to very very fast.
  1819.      The second box, the very fast option, is likely your best bet in 43/50
  1820.      line mode as you can get around that big screen more quickly.  The
  1821.      final option disables the mouse completely (makes it invisible,
  1822.      really) for those who hate rodents or have MS incompatible hardware
  1823.      that they want disabled.
  1824.  
  1825.      2) The number of screen lines is limited by the type of display
  1826.      adapter you have.  PullDown automatically detects your monitor type,
  1827.  
  1828.                                                                     Page 29
  1829.  
  1830.      and will not permit you to select a mode that is unavailable to you.
  1831.      This option also limits the number of %Titles you can have DOWN the
  1832.      page, as the number down the page is equal to the number of screen
  1833.      rows less four (top line, second line for box, lower line for box, and
  1834.      shadow... four).  If you select 50 line mode, load a 46 line menu file
  1835.      definition, and then select 25 lines, the menu system will refuse to
  1836.      change screen modes.  If this happens, load a smaller menu file and
  1837.      then change back to a lower number of screen rows.  Selecting the 50
  1838.      line mode on EGA systems results in the 43 line mode being invoked.
  1839.      Finally, SOME clone systems MAY give PullDown a "false" impression of
  1840.      the type of monitor and video card installed within the system.  If
  1841.      this happens, then the menu system will refuse to continue and issue a
  1842.      detailed fatal error message instructing you to call for technical
  1843.      support.  The check box allows you to turn the screen blanker flag
  1844.      that rolls across the screen OFF as you wish.
  1845.  
  1846.      3) PullDown can turn off that annoying NumLock key on startup.  Toggle
  1847.      this option ON to have PullDown do this each time it starts.
  1848.  
  1849.      4) PullDown can resume the menus exactly where you left them when you
  1850.      selected an option.  This is the default setting, and if you turn it
  1851.      OFF, then the system will load PULLDWN.DEF and show the first
  1852.      selection of the first menu when you enter the shell.
  1853.  
  1854.      5) Acceptable minute to blank settings are 1-99.  Values less than one
  1855.      are returned as the default value of three minutes, as are values
  1856.      greater than 99 or less than zero.
  1857.  
  1858.      6) A password can be required to protect option settings from children
  1859.      who enjoy changing colors or users you do not want to have access to
  1860.      the options.
  1861.  
  1862.      7) This password, if entered, is required to exit to DOS using the
  1863.      [ESC] key.  CAUTION: Don't set a password to modify options and a
  1864.      password to exit to DOS and then forget them.  If this happens, and
  1865.      you defined passwords as required to exit from all available
  1866.      selections, you can get trapped in the shell!  [See Appendix A,
  1867.      Troubleshooting, if this happens to you!]
  1868.  
  1869. The other options available in the OPTIONS pulldown are Registration, How
  1870. to Register, and Return Colors to Default Values.  The latter option just
  1871. returns the colors to something sane if you get too far gone (!) when
  1872. setting the colors up, and the others are self-explanatory.  Essentially
  1873. you need to send the $20 registration fee for a matching registered name
  1874. and number if you want to register the product.  The number you need is
  1875. based upon a non-linear algorithm of the ASCII encrypted values of your
  1876. registered name.  Lines under a certain length are not even acceptable, and
  1877. repeated attempts to register without a valid MicroDynamics issued number
  1878. will invariably fail.  When it comes time to register your copy, you can
  1879. start the menu system with the word REGISTER behind it to obtain the
  1880. registration system screen without going all the way into the SETUP
  1881. screens.
  1882.  
  1883. Finally, the EXIT option contains the two options SAVE & EXIT or ABORT.
  1884. Selecting ABORT cancels all changes EXCEPT registration.  Registration is
  1885. final after the registration system is run once.  (As you might suspect,
  1886. the registered name and number are saved in a double-encrypted binary
  1887. format in PULLDWN.CNF.  Deleting that file voids your registration.)
  1888.  
  1889.                                                                     Page 30
  1890.  
  1891. COMMAND LINE PARAMETERS
  1892. ___________________________________________________________________________
  1893.  
  1894. Formal PullDown Syntax is:
  1895.  
  1896.      PULLDWN [DEBUG] [CANCEL] [HELP]
  1897.  
  1898. Where:
  1899.  
  1900.      DEBUG - Causes PullDown to display stages of messages concerning the
  1901.      activities carried on startup.  Used when the program locks a clone
  1902.      system for an unknown reason to debug remote.
  1903.  
  1904.      CANCEL - Erases the PULLRES.FIL file containing the resume status of
  1905.      the menu shell, thus cancelling the resume feature on startup.  Used
  1906.      when it is known that the .DEF file that was loaded on exit no longer
  1907.      exists.  Specifically, PullDown creates this file each time you exit
  1908.      when the [ ] Resume Status box is checked ON, and the contents of that
  1909.      file define which menu file to load (the one you were in when you
  1910.      selected an option) and the specific item your cursor was on when you
  1911.      left the system.
  1912.  
  1913.      REGISTER - Invokes the command line registration system.  Used when
  1914.      registering the product.  See the following section for details on how
  1915.      to obtain your registration number.
  1916.  
  1917.      HELP - Displays a help screen concerning DEBUG and CANCEL
  1918.  
  1919.  
  1920. TECHNICAL SUPPORT & REGISTRATIONS
  1921. ___________________________________________________________________________
  1922.  
  1923. Even unregistered users are welcome to ask any and all questions, provide
  1924. suggestions, and test BETA copies of the software without charge.  You can
  1925. contact MicroDynamics on the follow electronic systems via modem:
  1926.  
  1927. * CompuServe ID 72010,2546
  1928.  
  1929. * GEnie Mail S.HORTON1
  1930.  
  1931. * RunWay BBS (215)-623-6203 8n1
  1932.      - 2400-14,400 HST 3 Nodes, No Fee for Technical support or to download
  1933.      the latest versions
  1934.      - This BBS is subscription only for general downloads. Enter
  1935.      conference number FIVE (5) for MicroDynamics Technical Support and new
  1936.      offerings, including all BETA versions for general download.  There is
  1937.      no charge at all to access the technical support SIG and any files
  1938.      contained therein.
  1939.      - Leave mail for SAM HORTON in any conference for help, preferably the
  1940.      MAIN or tech support conference #5.  PLEASE do not leave messages to
  1941.      the Sysop (although they too will be answered quickly) as
  1942.      MicroDynamics is NOT the owner/sysop of the system.
  1943.  
  1944. * DelChes BBS (215)-363-6625 8n1
  1945.      - Public Node, no fee required, mail-in registration a MUST in advance
  1946.      - All latest posted under MicroDynamics SIG.  Select from main menu
  1947.      these keystrokes to enter the conference:
  1948.           MSCS
  1949.                                                                     Page 31
  1950.  
  1951. * EXEC-PC
  1952.      - Leave E-MAIL to Sam Horton
  1953.      - Answer not guaranteed in under one week
  1954.      - Latest release always posted on this premier BBS
  1955.  
  1956. BY MAIL:
  1957. MicroDynamics Development
  1958. 1445 Mensch Lane
  1959. Gilbertsville, PA  19525
  1960.  
  1961.  
  1962. To register, print and return the form contained in the disk file
  1963. REGFORM.DOC.  If you are unfamiliar with this process, type the following
  1964. at the DOS prompt, assuming that you used the defaults to install the
  1965. system as described earlier in INSTALLATION:
  1966.  
  1967.      C:
  1968.      CD\MENU
  1969.      TYPE REGFORM.DOC > PRN
  1970.  
  1971.      *IF* you know your printer is on a serial port on COM1: (unlikely, but
  1972.      check if you are uncertain), type:
  1973.  
  1974.      C:
  1975.      CD\MENU
  1976.      TYPE REGFORM.DOC > COM1:
  1977.  
  1978. Turnaround is almost always less than one week, (often one day) and if you
  1979. provide a valid CIS ID, or are a GEnie or EXEC subscriber, then you will
  1980. get your registration number electronically.  Diskettes are mailed at extra
  1981. cost, and 3.5" DSHD diskettes carry a premium over 5.25" DSDD diskettes.
  1982. The reason for the charge is simple: diskettes, stamps, mailers, and the
  1983. labor cost money.  You can save the charge by picking up the latest version
  1984. on the tech support BBS or CIS electronically.  MAJOR upgrades are always
  1985. announced and chances are excellent you will receive a letter notifying you
  1986. of their availability.  Upgrade diskettes, again, are mailed for a fee.  IF
  1987. you find a virus infected copy, your diskette is FREE when you disclose the
  1988. source of the file you obtained.
  1989.  
  1990. Your registration number will be valid for all future releases, unless a
  1991. code change is required to support a smaller faster link library.  IF the
  1992. code changes, you will be sent a new number in the mail upon release.  In
  1993. any case, if you upgrade an existing copy, the registration upgrade is
  1994. automatic.  Back up your PULLDWN.CNF file when you register, as this is the
  1995. key file containing your user information.
  1996.  
  1997. VOICE:
  1998. Available shortly to registered users, always available to registered
  1999. consultants and dealer sites.
  2000.  
  2001. MULTIPLE SITE COPIES:
  2002.  
  2003. Number of Copies         Price Per Copy in Range
  2004. ----------------         -----------------------
  2005.      1-20                          $20
  2006.     21-50                          $15
  2007.     > 51                           $10
  2008.  
  2009.                                                                     Page 32
  2010.  
  2011. LANs registered by number of nodes on system with access to the menu shell
  2012. in the same structure.  Technical support is presumed to be first handled
  2013. on site, and second through MicroDynamics for multiple site copies.
  2014.  
  2015. OUTSIDE THE USA?  See APPENDIX C: FOREIGN VERSIONS/TECHNICAL SUPPORT
  2016. OVERSEAS below.
  2017.  
  2018. CONSULTANT'S DEALERSHIPS
  2019. ___________________________________________________________________________
  2020.  
  2021. Several consultants worldwide are presently installing PullDown for clients
  2022. to differentiate themselves from the pack using the old "A" "B" "C" or
  2023. rolling one style menus.  The arrangement involves significant margin for
  2024. the consultant, and increased customer satisfaction.  Please call or write
  2025. for details if you are interested in joining the growing list of authorized
  2026. dealers.
  2027.  
  2028. APPENDIX A: TROUBLESHOOTING GUIDE
  2029. ___________________________________________________________________________
  2030.  
  2031. As with all software, you may have trouble configuring PullDown to suit
  2032. your needs.  The following guide is designed to get you through the vast
  2033. majority of problems you might encounter, and the design of the product
  2034. often includes a full help screen describing critical conditions that cause
  2035. failures.  However, there are some things the software is not presently
  2036. capable of trapping as errors, and you will find this section helpful when
  2037. you encounter one.
  2038.  
  2039. PROBLEM: Option is selected and nothing happens--you just return to the
  2040. menu shell without the application starting as expected.
  2041.  
  2042. CAUSES AND SOLUTIONS:
  2043.      1) Batch contents are in error.  Examine the option in the .DEF file
  2044.      loaded for:
  2045.           a) Spelling errors and typos
  2046.           b) Erroneous contents... e.g. wrong directory for startup, bad
  2047.           drive letter(s), incorrect syntax.
  2048.           c) Commented out contents.  Leading ' characters cause the line
  2049.           to be ignored as a comment.
  2050.           d) Situations where REQUIRED for input should have been used
  2051.  
  2052.      TIP: If you cannot determine what the problem is in short order, try
  2053.      modifying your batch definition for debugging as follows:
  2054.  
  2055.      Original Contents:
  2056.           .
  2057.           .
  2058.           ?Enter File to Load:
  2059.           echo off
  2060.           cls
  2061.           cd\word5
  2062.           word %1
  2063.           pulldwn
  2064.           .
  2065.                                                                     Page 33
  2066.  
  2067.      Suggested contents to "debug" the definition:
  2068.  
  2069.           .
  2070.           .
  2071.           ?Enter File to Load:
  2072.           echo ON                                                                    Page 33
  2073.           cd\word5
  2074.           pause
  2075.           word %1
  2076.           pause
  2077.           pulldwn
  2078.           pause
  2079.           .
  2080.           .
  2081.  
  2082.      Then execute the selection again.  This time you will see ALL DOS
  2083.      errors and each command followed by the PAUSE message "Press Any Key
  2084.      to Continue".  Look for your errors and correct them as required, then
  2085.      when you have the selection working remove the pause commands and
  2086.      change echo ON to echo OFF so that the commands are no longer visible
  2087.      as they execute.  A short guide to debugging in general follows below.
  2088.  
  2089.      What to look for as the selection runs:
  2090.  
  2091.           a) After the cd\word5 command, see if DOS says "Invalid
  2092.           Directory".  If so, fix the path in your command to match the
  2093.           path to WORD.
  2094.           b) After the word %1 command, see if DOS says "Bad Command or
  2095.           Filename".  If so, change the command to the correct name of the
  2096.           program.  (May happen if you determine (a) above is the problem.)
  2097.           c) After the PULLDWN command, the menu shell should start.  If
  2098.           not, likely DOS returned "Bad Command or Filename" -- if so
  2099.           modify your PATH as described in INSTALLATION.
  2100.  
  2101.      2) You started the menu shell using PULLDWN1 instead of PULLDWN.  Use
  2102.      the batch file PULLDWN to start the shell, or the temporary files are
  2103.      never executed.  You will know if this is the problem as the shell
  2104.      will just exit to DOS when you select anything at all and never
  2105.      restart.
  2106.  
  2107.      2a) Start the shell using PULLDWN1 as the command, and then check the
  2108.      contents of SHELL.BAT to make sure that you are getting the expected
  2109.      contents.  If you are, and the system is supposed to pass a command
  2110.      line variable, then check TEMPPULL.BAT to make certain the command
  2111.      line parameters are going through.  Remember, it is up to you, the
  2112.      batch file author, to trap bad command line parameters.  If you know
  2113.      that the paramaters being passed into the batch MUST be non-blank,
  2114.      use the keyword REQUIRED before the ?Prompt call.  See ADVANCED.DEF
  2115.      for a working sample.
  2116.  
  2117.      3) All runs well, but you cannot get back to the line containing
  2118.      PULLDWN to restart the menu shell.... caused by a program that "clears
  2119.      the stack" on exit, thus erasing the batch file from memory.  To
  2120.      circumvent this, modify your batch contents to use a command shell to
  2121.      invoke the program ONLY.  e.g. modify the sample above to look like
  2122.      this:
  2123.  
  2124.                                                                     Page 34
  2125.  
  2126.           .
  2127.           .
  2128.           ?Enter File to Load:
  2129.           echo off
  2130.           cls
  2131.           cd\word5
  2132.           command/c word %1
  2133.           pulldwn
  2134.           .
  2135.           .
  2136.  
  2137.      This should solve the problem.  An alternative is to compile your
  2138.      batch files using a utility from PC Mag called BAT2EXE.  A discussion
  2139.      of its usefulness is beyond our scope here, but if you are an advanced
  2140.      user you should check that utility out.  You can get a copy on just
  2141.      about any major BBS in the country, or on CompuServe in the PCMAGNET
  2142.      forum.
  2143.  
  2144.  
  2145. PROBLEM: System locks up or "freezes" permanently.
  2146.  
  2147. CAUSES AND SOLUTIONS:
  2148.      1) If you are running ANY TSR (Terminate and Stay Resident Programs,
  2149.      like SideKick, PC3270, CXI, PCOX, PCSHELL in TSR mode.) uninstall it
  2150.      and retry the menu shell.  If it starts, reload each TSR in order
  2151.      until the conflict arises again.  While PullDown is known to be well-
  2152.      behaved and stable on IBM hardware, there are clone BIOS chips out
  2153.      there that will cause conflict when certain TSRs are running.  [If
  2154.      this is too technical, and you suspect the problem on your system,
  2155.      consult an expert or call for technical support... we will be glad you
  2156.      help.]
  2157.  
  2158.      2) If you are using PC3270 or 3270 as a TSR gateway to your mainframe,
  2159.      invoke it only with the T command line option.  Using the R option and
  2160.      invoking the HotKey over PullDown will cause a crash every time.
  2161.      Suffice it to say IBM did a less than perfect job with the keyboard
  2162.      handling in the 3270 program.  If you know you have this problem,
  2163.      simply never pop up the 3270 as a TSR while inside the shell.  A
  2164.      future version of PullDown may solve this problem for you, but it
  2165.      remains to be seen.  The problem is also specific to some but not all
  2166.      genuine IBM PS/2's.
  2167.  
  2168.      3) If all fails and the system locks continually, try the DEBUG
  2169.      command line parameter, note the last message on the screen after the
  2170.      crash and report circumstances to MicroDynamics.  There are some AMI
  2171.      BIOS chips in some 80286 clones KNOWN to lock every time PullDown is
  2172.      run.
  2173.  
  2174.      If you call MicroDynamics technical support with a problem like this,
  2175.      please have the following handy:
  2176.  
  2177.           - BIOS manufacturer and date (shown on boot up)
  2178.           - Contents of CONFIG.SYS (in C:\ most likely)
  2179.           - Contents of AUTOEXEC.BAT (also in C:\)
  2180.  
  2181.      4) Zenith Z series PC clones are notorious for being incompatible
  2182.      beasts.  PullDown will undoubtedly crash on these machines, and the
  2183.      Zenith video ROM debugger will appear on the screen.  If this happens,
  2184.      it means you cannot use PullDown on your computer.
  2185.  
  2186.                                                                     Page 35
  2187.  
  2188. PROBLEM:  Help system or main menu system displays unexpected or bizarre
  2189. results.
  2190.  
  2191. CAUSES AND SOLUTIONS:
  2192.      1) You used a word processor to save the file without converting it to
  2193.      pure text.  Reopen the file with the same word processor used to
  2194.      create the file in error, and then resave it as text.  See
  2195.      INTRODUCTION section.
  2196.  
  2197.      2) .DEF file is corrupt.  Check to ensure nothing is wrong with it,
  2198.      and that it is in fact pure text.
  2199.  
  2200.      3) You have a string occurrence of the exact menu title or search
  2201.      string used to define the help header BEFORE the header itself.
  2202.      Remove the duplicate occurrence of the help header, or change the
  2203.      header to be unique within the file.
  2204.  
  2205.      4) You have an exact match of menu titles within the system.  Each
  2206.      %TitleString in this version must be unique, just as headers in help
  2207.      files need be unique.
  2208.  
  2209. PROBLEM: Mouse intermittently disappears, but reappears after you select F2
  2210. options and reenter the menu system, or the mouse does not select correctly
  2211. when clicked on a menu item.
  2212.  
  2213. CAUSES AND SOLUTIONS:
  2214.      1) Your IBM mouse driver is outdated.  Get an update from a current
  2215.      copy of WINDOWS or directly from IBM.  Versions dated 1897 or earlier
  2216.      do this routinely in high resolution screen modes on IBM PS/2s.
  2217.      2) You are using a Logitech C7 mouse. There is an acknowledged bug in
  2218.      the mouse... to see if this is the case, gently shake the mouse, then
  2219.      try again.  If this works, call Logitech for a driver upgrade, or a
  2220.      new mouse.
  2221.      3) You are running an MS 200 DPI mouse in emulated graphics mode.
  2222.      When you do this, you must select a pixel within a menu item exactly
  2223.      to get the system to function correctly.  PullDown is simply not
  2224.      designed anticipating a character mode emulated in 200 DPI graphics!
  2225.      Use the system in text mode to avoid the problem, or stick to the
  2226.      keyboard.  A future version may address this problem directly and
  2227.      solve it.
  2228.  
  2229.  
  2230. PROBLEM:  System halts and exits unexpectedly with an error message in the
  2231. format "Fatal Error at ####:####"
  2232.  
  2233. CAUSE:
  2234.      Fatal internal error.  Might be a bug, and should be reported with all
  2235.      circumstances to MicroDynamics.  Our policy is that if it is a
  2236.      PullDown bug that can be solved, we will solve it and ship a working
  2237.      copy to you free of charge in under one week.
  2238.  
  2239.      TRY FIRST:
  2240.  
  2241.      If you are using a CLONE VGA card: restart the menu system.  Likely
  2242.      the system is returning VGA to the menu shell and does NOT correctly
  2243.      support the 43 or 50 line video mode.  If the system fails again,
  2244.      delete the file PULLDWN.CNF.  It is a read-only file, and thus you
  2245.      will have to use a PCTools or Norton utility to delete it, or use the
  2246.      DOS attribute command to strip the attribute and delete the file.
  2247.  
  2248.                                                                     Page 36
  2249.  
  2250. The vast majority of internal errors are elegantly handled within the
  2251. system, and the fault tolerance is very high.  Most errors are not "fatal"-
  2252. - that is they do not cause the system to exit to DOS.  Those that are,
  2253. like corrupt .DEF files with no ensuing valid user response as to what file
  2254. to load, corrupt configuration files, completely invalid .DEF files, and
  2255. more are handled internally.  IF the system ever exits to DOS with a fatal
  2256. error, a detailed screen describing the problem and where to call for
  2257. technical support is likely to follow.  If not, the reason is technical,
  2258. and you should call MicroDynamics for help.  We will be happy to assist
  2259. even unregistered users as time becomes available.  Debug requests and help
  2260. calls from registered users, of course, take priority, but we want you to
  2261. be happy first, and THEN register the product if you are having problems.
  2262.  
  2263. APPENDIX B: FILES INCLUDED IN THE PACKAGE OR CREATED BY PULLDOWN v2.17
  2264. ___________________________________________________________________________
  2265.  
  2266. Files used to run the system:
  2267. ----------------------------
  2268. PULLDWN.BAT    .......... Main command to start the menu system
  2269. PULLDWN1.EXE   .......... Executable called upon in PULLDWN.BAT
  2270. PULLDWN.DEF    .......... Default menu definition file.
  2271. PULLDWN.HLP    .......... Main help file for ALL F1 help menu definitions
  2272. EDITOR.BAT     .......... Used within sample .DEF files to call your editor
  2273.  
  2274. Files created by PullDown to run the system
  2275. (Not on disk or in .ZIP file):
  2276. -------------------------------------------
  2277. PULLDWN.CNF   ........... Binary encrypted file containing colors etc.
  2278. PULLRES.FIL   ........... Binary file containing resume information
  2279. TEMPPULL.BAT  ........... File called upon in PULLDWN.BAT with SHELL.BAT
  2280. SHELL.BAT     ........... User-defined batch file.  Parameters passed to it
  2281.                           within TEMPPULL.BAT as SHELL %1 %2 .... %0
  2282. Documentation:
  2283. -------------
  2284. PULL217.DOC   ........... This file, the main documentation file on disk
  2285. QREF.DOC      ........... A quick reference one sheet card to keep by your
  2286.                           keyboard when first using the system.
  2287. UPGRADE.DOC   ........... Specific instructions for v2.01 or earlier users
  2288.                           who are upgrading to v2.17
  2289. REGFORM.DOC   ........... Registration mailers.  IF YOU NEED AN INVOICE,
  2290.                           WE WILL BE HAPPY TO BILL YOU IN LIEU OF RETURNING
  2291.                           THIS FORM.
  2292. PULLDWN.REG   ........... Registration help screen for OPTIONS pulldown
  2293.  
  2294. Extras:
  2295. ------
  2296. ADVANCED.DEF  ........... Advanced samples for your inspection
  2297. WINDOWS.DEF   ........... A mock MS WINDOWS menu for your inspection
  2298. SAMPLE.HLP    ........... A sample external help file for SCROLLBOX calls
  2299. VFILE.EXE     ........... Quick generic but elegant file viewing utility
  2300. VENDOR.DOC    ........... Small description file for PSL and sysops.
  2301.                                                                     Page 37
  2302.  
  2303. NOTES ON FILE LOCATIONS AND LAN SUPPORT
  2304. ---------------------------------------
  2305.      PullDown EXPECTS the following in the path to PULLDWN1.EXE unless a
  2306.      SET PULLDWN=Path environment variable is used to override:
  2307.      [Use the SET env. command on networks that support private user
  2308.      directories when you use PULLDWN on a NOVELL network or similar.]
  2309.  
  2310.           *.DEF - i.e. ALL definition files
  2311.           PULLDWN.CNF
  2312.           PULLDWN.HLP
  2313.           PULLRES.FIL
  2314.  
  2315.      PullDown writes the following files to the DEFAULT DOS directory when
  2316.      running:
  2317.  
  2318.           TEMPPULL.BAT
  2319.           SHELL.BAT
  2320.  
  2321.      PullDown expects PULLDWN.REG to be in the default directory.
  2322.  
  2323. DISK/FILE I/O ERRORS
  2324. --------------------
  2325. IF PullDown encounters an unexpected file condition, you will be prompted
  2326. to either input the correct file, or sent to DOS with a specific help
  2327. screen concerning what is wrong and how to fix it.  If you do get a
  2328. somewhat technical error message like "Error Cnf() FOpen() [1]" then call
  2329. for technical help.  It may mean you are out of disk space, but most likely
  2330. a hardware error has occurred and you should seek assistance in fixing the
  2331. condition.
  2332.  
  2333.  
  2334. APPENDIX C: FOREIGN VERSIONS/TECHNICAL SUPPORT OVERSEAS
  2335. ___________________________________________________________________________
  2336.  
  2337. First, if you are registering the product outside the USA, you must either:
  2338.  
  2339.      1) Remit in United States Dollars
  2340.      2) Remit in your local currency by check or money order PLUS 20% to
  2341.      cover currency conversion and handling charges here in the US.
  2342.      3) Contact your local country/region distributor.  To date, only
  2343.      Germany has a distributor, so that is the only country in which you
  2344.      may to contact them directly.
  2345.  
  2346. If you are in Germany, (DDR or FDR), contact:
  2347.  
  2348.      MicroServe, GmbH
  2349.      Leher-Laempel-Weg 41 A
  2350.      D-2800
  2351.      Bremen 41, West Germany (FDR)
  2352.  
  2353.      CompuServe ID: 73727,475
  2354.      BBS: +49-42-983-0086
  2355.  
  2356. A German language version of the documentation will be available in the
  2357. future, and there is a strong possibility a full German language operating
  2358. version will be made available in 1991.
  2359.  
  2360. In any other country, contact MicroDynamics Development directly as
  2361. described within the preceding section REGISTRATION AND TECHNICAL SUPPORT.
  2362.  
  2363.                                                                     Page 38
  2364.  
  2365. APPENDIX D: Technical Notes on PULLDWN1.EXE Creation.
  2366. ___________________________________________________________________________
  2367.  
  2368. PullDown was created entirely within the QuickBASIC Extended environment in
  2369. conjunction with the Assembler Library QuickPak/Professional for BC7 from a
  2370. fine company called Crescent Software located at 32 Seventy Acres, West
  2371. Redding, CT 06896, (203)-438-5300 CIS 72657,3070.  The dialog boxes were
  2372. created using DIALOGIC from DIALOG Software.  The DIALOGIC system can also
  2373. be purchased from Crescent.  The AutoHelp system used to display the help
  2374. screens is a commercial product available from MicroDynamics development,
  2375. and may be included in the upcoming utilities pak for DIALOGIC owners
  2376. through Dialog software.  The final .EXE for versions over 2.17 will be
  2377. created using PDQ v2.0 also from Crescent, God willing, and with a little
  2378. luck on the command line.  Conversation concerning QuickBASIC is also
  2379. invited on the tech support BBS systems.  Enjoy, and happy coding!  (Source
  2380. for AutoHelp is available to DIALOGIC owners for the asking.... so call or
  2381. write if you want a copy.  Full source for PullDown is not presently
  2382. available.)
  2383.  
  2384.  
  2385. APPENDIX E:  Key Word Crossreference/Quick Reference Long Format
  2386. ___________________________________________________________________________
  2387.  
  2388. By Usage:
  2389.  
  2390. Menu Definition Commands:
  2391. -----------------------
  2392.      DEF
  2393.           Defines a new title heading to follow, and a new pulldown set.
  2394.  
  2395.      %TitleString
  2396.           1) When immediately following DEF, defines top menu selection
  2397.           2) When second through last for a menu, defines the title of the
  2398.           selection definition that follows it.
  2399.  
  2400.      +BatchCommand
  2401.           Following a %TitleString defines a DOS batch command associated
  2402.           with the preceding selection title.
  2403.  
  2404.      'CommentString
  2405.           Anything preceded by ' is a comment and ignored by PullDown.
  2406.           Embedded  comments are not supported, so keep them on separate
  2407.           lines.
  2408.  
  2409. And the basic structure of ALL .DEF files is:
  2410. ---------------------------------------------
  2411.  
  2412. DEF
  2413.      %TopBar Title One
  2414.  
  2415.      %First Selection
  2416.           HI=nn
  2417.           +batch command
  2418.           +batch command
  2419.  
  2420.      %Second Selection
  2421.           HI=nn
  2422.           +batch command
  2423.           +batch command
  2424.      .
  2425.      .
  2426.                                                                     Page 39
  2427.  
  2428. DEF
  2429.      %TopBar Title Two, appearing to the RIGHT of the preceding menu
  2430.  
  2431.      %First Selection, Menu Two
  2432.           HI=nn
  2433.           +batch command
  2434.      %Second Selection, Menu Two
  2435.           HI=nn
  2436.           +batch command
  2437.      .
  2438.      .
  2439.  
  2440. And so on, up to 10 total top bar menus, limited in depth down the screen
  2441. to the number of rows on the screen minus four.
  2442.  
  2443. Where: HI=nn is the HiLite key number, counted in left to right starting at
  2444. zero.  Example:  %Lotus 1-2-3 followed by HI=6 highlights the 1.
  2445.  
  2446. PASS=PassWord
  2447.      User is prompted for a password to continue.  The selection halts
  2448.      execution at the line PASS is encountered if the user cannot enter the
  2449.      correct response or selects <Cancel> or presses ESC.
  2450.  
  2451. ?QuestionString
  2452.      Shows the user PromptString and awaits input.  If the user selects the
  2453.      <Cancel> or presses ESC, the execution of the selection halts and the
  2454.      user is returned to the menu.  Up to 10 are supported, and passed to
  2455.      the batch file on a command line as if keyed.  REQUIRED keyword call
  2456.      prior to ? will force a non-blank response to all subsequent ? uses.
  2457.      Toggled OFF with NOTREQUIRED keyword call.  Default=NOTREQUIRED.
  2458.  
  2459. OKBOX=PromptString
  2460.      Places a single <Ok> dialog box before the user containing only the
  2461.      string PromptString.  If the user clicks on <Ok>, or presses ENTER,
  2462.      then execution continues.  If ESC is pressed, then the user is
  2463.      returned to the menu without action being taken.  HighLite keys are O
  2464.      in <Ok> only.
  2465.  
  2466. YORN=PromptString
  2467.      Places a single <Yes><No> dialog box before the user containing only
  2468.      the string PromptString.  If the user clicks on <Yes>, or presses
  2469.      ENTER, then execution continues.  If ESC is pressed or <No> is
  2470.      clicked, then the user is returned to the menu without action being
  2471.      taken.  HighLite keys are Y in <Yes> and N in <No>.
  2472.  
  2473. SCROLLBOX=HelpFile,HeaderString
  2474.      Presents user with an <Ok> scrolling mouse sensitive dialog box
  2475.      containing up to 50 lines of user-defined help in the text file
  2476.      HelpFile.  Presents the lines directly following the first encounter
  2477.      of HeaderString (so make it unique in the file, or the first
  2478.      occurrence) up to the stop marker ### on a line by itself.
  2479.  
  2480. @MenuFile.DEF
  2481.      Loads a the MenuFile[.DEF] menu definition file from the .DEF path.
  2482.      This path is either:
  2483.           1) The path to PULLDWN1.EXE -or-
  2484.  
  2485.                                                                     Page 40
  2486.  
  2487.            2) The path set in the PULLDWN=Path environment variable, if
  2488.               present. (Optional)
  2489.  
  2490.      [.DEF] denotes that the extension is optional.  Strongly recommended
  2491.      that you follow syntax with .DEF to prevent confusion, and to remain
  2492.      compatible with future compiler versions which WILL expect .DEF files
  2493.      only.
  2494.  
  2495. APPENDIX F: Performance Optimization (Load Time Minimization)
  2496. ___________________________________________________________________________
  2497. Some guidelines and a special .DEF command are given below to help you
  2498. minimize the time it takes PullDown to parse and load the text files used
  2499. for menu definition... all .DEF files, that is.  In a future version, a
  2500. separate compiler will be included, and PullDown will flash to your screen
  2501. with the menus you define.  However, for now, a performance hit occurs when
  2502. the text file is parsed.  Some optimizing techniques can be used to
  2503. minimize the load time for you, and if you use all of them you will be
  2504. happier with the performance.  [Remember, PullDown loads large amounts of
  2505. information relative to most menuing systems....]
  2506.  
  2507. 1) After you have settled on a particular .DEF file definition, place the
  2508. number of DEF statements present in the file on the FIRST line of the .DEF
  2509. file, preceded by MAXDEFS=.  Sample:
  2510.  
  2511.      MAXDEFS=4
  2512.  
  2513. Misdefining here does nothing fatal, but will result in a dialog box
  2514. telling you of an error.  The maximum is 10, anything higher is ignored.
  2515. An example is included in ADVANCED.DEF.
  2516.  
  2517. 2) Use the letter combination DEF a minimum number of times in the .DEF
  2518. file.  The reason is somewhat technical, but in lay terms the system stops
  2519. and looks for the keyword DEF on a line by itself EVERY time it encounters
  2520. the three letters DEF in sequence.  It is not a noticeable performance hit,
  2521. and is vastly superior to testing the first three nonblank characters of
  2522. each line, but if even the embedded three letters DEF occur many times, you
  2523. are slowing the system down for no reason.  This comment applies really to
  2524. those who might otherwise overcomment the file and refer to the DEF file
  2525. etc. many times.
  2526.  
  2527. 3) Minimize the overall size of the .DEF file.  Do not include huge sets of
  2528. batch commands, place them in separate batch files and call those files
  2529. from within PullDown.  .DEF files larger than about 20K are not really
  2530. useable due to the performance decrease on non-80386 or higher machines.
  2531.  
  2532. 4) Minimize the number of comments within the .DEF or .HLP files.  Again,
  2533. more to scan, more to load.
  2534.  
  2535. 5) Don't bother putting the menu system on a RAM disk.... it does not help
  2536. you much.  PullDown is very efficient in loading the .DEF files into
  2537. memory, and that operation is a small portion of the total time it takes
  2538. PullDown to start.  In the compiler versions, it might be a factor, because
  2539. then the time to load the .EXE and .DCF files will be relatively important.
  2540.  
  2541. 6) If you are using an IBM mouse, or some clone mice, the load time on a
  2542. serial unit is likely to be impacted by the version of the mouse driver you
  2543. have.  Be safe: just get the latest.  MS makes the driver available to
  2544. users many ways, the latest of which is the new driver included with
  2545. Windows v3.0.
  2546.  
  2547.                                                                     Page 41
  2548.  
  2549. 7) Scanning of .HLP files for the header and reading the lines is very
  2550. fast, and will mostly depend upon disk access time.  Slower disk, longer
  2551. time to scan.  Larger files are not likely to cause a detectable
  2552. performance decrease on newer 80286 or higher based hardware.
  2553.  
  2554. 8) Use a version of DOS over 3.0.  There are several file I/O goodies in
  2555. that version not available in 2.xx DOS.  The system is untested under v2.xx
  2556. of DOS, but should function normally.  To date, no trouble has been
  2557. reported to MicroDynamics under any v2.xx of DOS.  Note: Leading blanks and
  2558. tabs do NOT contribute to slowing PullDown in general.
  2559.  
  2560. APPENDIX G:  A SPECIAL THANKS
  2561. ___________________________________________________________________________
  2562.  
  2563. - Crescent Software and Dialog Software for support and superior tools
  2564.  
  2565. - Ted Rosenberger of TARGET Software for performance tweaks and advice
  2566.  
  2567. - Ray Novino for excellent Sysop support on RunWay BBS
  2568.  
  2569. - Peter Rucci for great support and fine Sysop help on the DelChes BBS
  2570.  
  2571. - Conrad Kreyling for code, help, encouragement and vital testing
  2572.  
  2573. - John Hanks of Skagit Valley Computer Solutions for testing and assistance
  2574.  
  2575. - One hundred ShareWare authors I cannot name, and the ASP, for setting
  2576. fine examples to follow over the last four years.
  2577.  
  2578. - Brenda Donovan (and Ed) for testing v2.01 BETA
  2579.  
  2580. - The many registered users and sites that provide the economic incentive
  2581. to continue the insane pursuit of product development
  2582.  
  2583. * Dedicated to Pat.
  2584.                                                                     Page 42
  2585.  
  2586.